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
520
頑張りすぎない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
42
事業成長を加速させるフロントエンド改善のお話
kskymst
7
5.7k
Other Decks in Programming
See All in Programming
イベント駆動で成長して委員会
happymana
1
340
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
110
Arm移行タイムアタック
qnighy
0
340
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
230
RubyLSPのマルチバイト文字対応
notfounds
0
120
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
CSC509 Lecture 09
javiergs
PRO
0
140
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
1
110
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
Contemporary Test Cases
maaretp
0
140
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.2k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building an army of robots
kneath
302
43k
Docker and Python
trallard
40
3.1k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Scaling GitHub
holman
458
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
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 ୈೋɾୈ࢛༵ʙ