Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
頑張りすぎないVue.js単体テストのススメ / Vue.js unit testing th...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kosuke Yamashita
October 24, 2019
Programming
1
630
頑張りすぎないVue.js単体テストのススメ / Vue.js unit testing that does not work too hard
2019/10/24 STORES.jp Meetup for Front-end Engineers #1で発表した内容です。
Kosuke Yamashita
October 24, 2019
Tweet
Share
More Decks by Kosuke Yamashita
See All by Kosuke Yamashita
STORESにおけるアクセシビリティ向上の取り組み
kskymst
0
100
事業成長を加速させるフロントエンド改善のお話
kskymst
7
5.9k
Other Decks in Programming
See All in Programming
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
110
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
110
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
680
CSC307 Lecture 05
javiergs
PRO
0
490
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
120
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
Data-Centric Kaggle
isax1015
2
760
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
150
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
464
140k
Code Review Best Practice
trishagee
74
20k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Design in an AI World
tapps
0
140
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
Optimizing for Happiness
mojombo
379
71k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
240
Odyssey Design
rkendrick25
PRO
1
490
Visualization
eitanlees
150
17k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
89
Transcript
,PTVLF:BNBTIJUB 4503&4KQ JODIFZ JOD 4503&4KQ.FFUVQGPS'SPOUFOE&OHJOFFST ؤுΓ͗͢ͳ͍7VFKT୯ମςετͷεεϝ
ࣗݾհ ɾࢁԼޭհ ɾ4503&4KQ6*վળνʔϜ ɾ݄ೖࣾ ɾલ৬ϕτφϜͷελʔτΞοϓ ɹͰ3FBDUϝΠϯ !LTLZNTU
୯ମςετॻ͍ͯ·͔͢ʁ
ετΞσβΠϯ ϦϒϥϯσΟϯά ՝ۚϖʔδ ૿੫ରԠ ׂൢ๏ରԠ 6*$PNQPOFOU ΞΠςϜ࡞ฤू ݄ ݱࡏ
5FTUJOH4UBSU Ҡߦ։࢝ ˞1+Ұ෦ൈਮ
֤ݸਓؤுͬͯਐΊ͍͕ͯͨɻɻ ςετํΛܾΊͯޮՌతͳςετΛ ؤுΓ͗ͣ͢ॻ͖͍ͨ ςετཻͷෆἧ͍ͭɺޮՌతͰͳ͍ςετ ɾϦιʔεͷফ ɾϝϯςφϯείετ ɾεϓϦϯτ௨Γʹਐ·ͳ͍JTTVF ɾਫ਼ਆతͳਏΈ ! "
ͦ͜Ͱࠓ4503&4͕ςετͱ ͖߹ͬͨ݁Ռʹ͍͓ͭͯ͠·͢
˞ิ
4503&4KQͰओʹͭͷϦϙδτϦͰ /VYUº+FTUΛத৺ʹςετڥΛߏங .BJO 6*$PNQPOFOU-JCSBSZ
/VYU WVFUFTUVUJMT º+FTUͰͷ͓͕ϝΠϯ .BJO 6*$PNQPOFOU-JCSBSZ
"HFOEB తΛܾΊΔʢXIZʣ ςετରΛܾΊΔʢXIBUʣ Ͳ͏ςετ͢Δͷ͔ IPX ͜Ε͔Β
"HFOEB తΛܾΊΔʢXIZʣ ςετରΛܾΊΔʢXIBUʣ Ͳ͏ςετ͢Δͷ͔ IPX ͜Ε͔Β
ςετΛॻ͘త ɾਫ਼ਆత҆ఆ ɾखಈςετͷίετͷݮ ɾϦϑΝΫλϦϯά࣌ͷΤϯόάΛݮΒ͢ ɾίϯϙʔωϯτͷ༷ॻతׂ
"HFOEB తΛܾΊΔʢXIZʣ ςετରΛܾΊΔʢXIBUʣ Ͳ͏ςετ͢Δͷ͔ IPX ͜Ε͔Β
ςετର ɾQBHFT ⚪1$ ⚪41 ɾDPNQPOFOUT ⚪NJYJO ⚪DPOUBJOFS ⚪QSFTFOUBUJPOBM ɾMBZPVUT ɾTUPSF
ɾVUJMT ɾDPOTUBOUT ɾQMVHJOT ɾNJEEMFXBSF
ςετ༰ ɾNPVOU ɾQSPQT ɾDPNQVUFE ɾNFUIPET ⚪FNJU ⚪IUUQ3FRVFTU ɾUFNQMBUF ⚪TMPU ⚪WJGWTIPX
⚪WPO ⚪WCJOEDMBTT ⚪WCJOEBUUS ɾMJGFDZDMF ɾNJYJO ɾBTZOD%BUBGFUDI ɾHFUUFST ɾNVUBUJPOT ɾBDUJPOT
ൣғ͍ !
ޮՌతɺޮՌͷബ͍ςετΛఆٛͯ͠ ॻ͘ɺॻ͔ͳ͍Λ໌֬ʹ͢Δ !
ޮՌͷബ͍ςετ ɾॳظදࣔঢ়ଶ ɾQSPQTͷఆٛ ɾ୯७ͳϩδοΫ FUD ෳࡶͷ͍ϩδοΫ ॻ͔ͳ͍બΛͨ͠ !
ॳظදࣔঢ়ଶ QSPQTͷUFNQMBUFදࣔͷΈ
QSPQTͷఆٛ QSPQTఆٛʹରͯ͠ͷςετ
୯७ͳϩδοΫFYNVUBUJPOT ୯७ͳTUBUFมߋͷNVUBUJPO ͦͷଞFNJUΛൃՐ͢Δ͚ͩͷNFUIPETͳͲ
ޮՌతͳςετ ɾυϝΠϯͰͷίΞͳϩδοΫ ɾذͷೖΔϩδοΫ ෳࡶͷߴ͍ϩδοΫ ͔ͬ͠Γͱ͑Δ !
υϝΠϯͰͷίΞͳ߲Λఆٛ͢Δ
ྫ͑͜͏͍ͬͨ ༗ྉձһొϑΥʔϜͷ߹ ίΞͳςετ߲Λఆٛ
༗ྉձһొϑΥʔϜ ͷ߹ ᶃ ᶄ ᶆ ᶅ ᶄֹ͕ۚਖ਼͘͠දࣔ͞Ε͍ͯΔࣄ ᶃʮ͓ࢧํ๏ʯʹΑͬͯ ϑΥʔϜ༰͕มΘΔࣄ ᶅόϦσʔγϣϯ͕ਖ਼͘͠ಈ࡞ɺ
දࣔ͞ΕΔࣄ ᶆϑΥʔϜͷೖྗ༰Ͱ"1*͕ ୟ͔ΕΔࣄ
ذͷೖΔϩδοΫ ಛఆ݅ɺΠϕϯτʹΑͬͯڍಈ͕ มΘΓόάʹͳΓ͍͢
"HFOEB తΛܾΊΔʢXIZʣ ςετରΛܾΊΔʢXIBUʣ Ͳ͏ςετ͢Δͷ͔ IPX ͜Ε͔Β
Ͳ͏ςετ͢Δͷ͔ ɾQBHFTͰͷ౷߹ςετ ɾTUPSFGBDUPSZؔͰڞ௨Խ ʜFUD ಉΫϥεςετɺڥքςετͷΑ͏ͳςετٕ๏ ͪΖΜͰ͕͢ɺͬͱ7VFº+FTUଆͷ
QBHFTͰͷ౷߹ςετ QBHFT͔ΒNPVOUͰ౷߹ςετ σʔλͷྲྀΕΛ͔ͬ͠Γ௨͍ͬͯΔ͔νΣοΫ ˞ଞίϯϙʔωϯτجຊతʹTIBMMPX.PVOUͰΛด͡ࠐΊΔ 1BSFOU $IJME (SBOEDIJME mount
ͦͷࡍXBSOJOHͰGBJMʹ͢Δ jestSetup.js XBSOJOH͕ग़͘͢ɺग़ͯςετࣗମ௨ͬͯ͠·͏ҝ XBSOJOHͰGBJM͢Δ༷ʹ͓ͯ͘͠ͱΑΓָͰ҆৺ jest.config.js
TUPSFGBDUPSZؔͰڞ௨Խ ڞ௨Խ͢Δ͜ͱͰେ෯ʹָʹ
͜ͷଞʹ·ͩ·ͩ͋Δ !EFYJB͕ࣾ2JJUBʹ߲ͷ σβΠϯύλʔϯɺΞϯνύλʔϯ Λ·ͱΊͯ͘Ε͍ͯΔ ࣮࣌ͷ໎͍͕ফ͑ϨϏϡϫʔ ͱڞ௨ݴޠͰձͰ͖ΔΑ͏ʹ ͳΔ ৄ͍͠༰·ͨͲ͔͜ͰͤͨΒ !
"HFOEB తΛܾΊΔʢXIZʣ ςετରΛܾΊΔʢXIBUʣ Ͳ͏ςετ͢Δͷ͔ IPX ͜Ε͔Β
͜Ε͔Β WJGͳͲͷදࣔذʹؔͯ͠&&ಋೖͳͲ ࢼͯ͠Έ͍ͨɺྑͦ͞͏Ͱ͋Ε୯ମςετ ͷ༰Λ&&دͤΒΕΔͷͰͳ͍͔ʁ ͳΜͯΛ͍ͯ͠·͢
ؤுΓ͗ͣ͢ϝϯς͍͢͠ ςετΛ͜Ε͔Βࢦ͍ͯ͘͠ !
None
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ !
IUUQTIFZKQFWFOUTIFMMPIFZ ୈೋɾୈ࢛༵ʙ