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
Kosuke Yamashita
October 24, 2019
Programming
1
540
頑張りすぎない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
49
事業成長を加速させるフロントエンド改善のお話
kskymst
7
5.8k
Other Decks in Programming
See All in Programming
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
AIプログラミング雑キャッチアップ
yuheinakasaka
18
4.5k
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
390
TCAを用いたAmebaのリアーキテクチャ
dazy
0
130
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
290
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
230
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
150
Rails アプリ地図考 Flush Cut
makicamel
1
130
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
190
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Automating Front-end Workflow
addyosmani
1368
200k
Scaling GitHub
holman
459
140k
4 Signs Your Business is Dying
shpigford
182
22k
Agile that works and the tools we love
rasmusluckow
328
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Why Our Code Smells
bkeepers
PRO
336
57k
Building Applications with DynamoDB
mza
93
6.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Faster Mobile Websites
deanohume
306
31k
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 ୈೋɾୈ࢛༵ʙ