Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JestとWallaby.jsで始める楽しいJavaScript testing
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shunta Saito
June 26, 2019
Programming
1.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JestとWallaby.jsで始める楽しいJavaScript testing
JestとWallaby.jsを使ってモックを含むテストを書く方法を共有します。
https://github.com/subuta/play-with-jest
Shunta Saito
June 26, 2019
More Decks by Shunta Saito
See All by Shunta Saito
Nuxt.jsの静的サイト 出力を試してみる
subuta
0
590
Wordpress + ACF(Pro) Blocksで 独自コンポーネントを作る
subuta
0
390
Tailwind CSSでいろんなUIをつくる
subuta
3
1.4k
SPA & JWT でWeb アプリケーションを作る
subuta
0
270
jspmで爆速開発する
subuta
1
1.4k
Other Decks in Programming
See All in Programming
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.2k
速習iPhone Duo対応
yuukiw00w
2
910
iOSDC2026登壇資料.pdf
riofujimon
0
200
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
570
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.6k
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
370
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
130
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
270
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.8k
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
560
Site-Speed That Sticks
csswizardry
13
1.5k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
We Are The Robots
honzajavorek
0
380
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
710
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
So, you think you're a good person
axbom
PRO
2
2.2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Transcript
JestͱWallaby.jsͰ࢝ΊΔ ָ͍͠JavaScript testing @subuta 2019/6/26
ࣗݾհ • ໊લ: ੪౻ॣଠ (@subuta) • JavaScriptपΓͷͷ͕͖Ͱ ͢ɻ࠷͓ۙࣄͰ Node.js(Koa +
Next.js)Λ͑ͯ ͯϋοϐʔͰ͢ɻ • React͕ओʹ͖Ͱ͕͢ɺVue.js Angular.jsᅂΉఔʹ ৮ͬͯ·͢ɻ༻్ʹԠͨ͡ద ͳͷΛબͿͷ͕ྑͦ͞͏ɻ
Jestͱ Jest is a delightful JavaScript Testing Framework with a
focus on simplicity.
Jestͱ Jest is a delightful JavaScript Testing Framework with a
focus on simplicity. γϯϓϧ͞ʹϑΥʔΧεָ͍ͨ͠͠+BWB4DSJQU 5FTUJOH'SBNFXPSL
Wallaby.jsͱ Wallaby.js runs your JavaScript tests immediately as you type
and displays execution results in your code editor. It also provides beautiful test and code coverage reports updated in realtime.
Wallaby.jsͱ Wallaby.js runs your JavaScript tests immediately as you type
and displays execution results in your code editor. It also provides beautiful test and code coverage reports updated in realtime. 8BMMBCZKT͋ͳͨͷςετίʔυΛλΠϐϯάʹԠ ࣮ͯ͡ߦ͠ɺ࣮ߦ݁ՌΛΤσΟλ্ʹදࣔ͠·͢ɻ ·ͨϦΞϧλΠϜͰͷςετͷ࣮ߦ݁Ռ͓Αͼίʔυ ΧόϨοδͷϨϙʔτදࣔߦ͍·͢ɻ
࣍ w ԿΛςετ͖͔͢ w ςετͷ࣮ྫ
ԿΛςετ͖͔͢ Ͳ͏ͤΔͳΒཏతʹΓ͍ͨ ίʔυΧόϨο δΛʹ͍ͨ͠ ͷͰɺͯ͢ͷςετΛॻ͖ͨ ͍ɾɾ
ԿΛςετ͖͔͢ Ͳ͏ͤΔͳΒཏతʹΓ͍ͨ ίʔυΧόϨοδΛ ʹ͍ͨ͠ ͷͰɺͯ͢ͷςετΛॻ͖͍ͨɾɾ ݱ࣮తʹݫ͍͠ɻ w ͍͍ͩͨͷϓϩδΣΫτͰͦΜͳ༨༟ ࣌ؒ༧ࢉ
ͳ ͍ɻ w ͷ࣭Ͱ࡞Δͷ؆୯͚ͩͲɺΓͷΛΓ͖ Ζ͏ͱ͢Δͱ͕͔͔࣌ؒΔɻ lύϨʔτͷ๏ଇzతͳͭ
ԿΛςετ͖͔͢ ⭕࠷ݶɺඞཁͳͱ͜Ζ͚ͩςετΛॻ͘ɻ
ԿΛςετ͖͔͢ ⭕ྫ͑͜ΜͳςετΛॻ͘ w खͰςετ͢Δͷ͕͍͠ ໘ͳ Օॴ w ྫލ͗ ࠷খ࠷େͷೖྗ w
αʔϏεͷࠜװʹؔΘΔ ॏཁͳ ॲཧ w ྫ͓ۚपΓͷॲཧ ݸਓใʹؔΘΔॲཧ
ԿΛςετ͖͔͢ ❌ٯʹ͜Μͳςετෆཁ ˞ݸਓͷҙݟͰ͢ w ϥΠϒϥϦͷڍಈ w ͦͦϥΠϒϥϦଆͰςετΛॻ͍ͯΔͣɻ w 6*ͷςετ
w ߹ ϓϩμΫτͷੑ࣭ɺ։ൃن ʹΑΔ͕ɺ6* ίϩίϩมΘΔͷͰɺॻ͍ͯແବʹͳΓ͕ͪ
ςετͷ࣮ྫ(σϞ) IUUQTHJUIVCDPNTVCVUBQMBZXJUIKFTU ੫ࠐΈͷஈΛ࣋ͬͨ%#ͷαϯϓϧ w ୯ମςετ w ݁߹ςετ %#࿈ܞ ͔Βͷফඅ੫૿੫
ʹͲ͏ରԠ͢Δ͔ɾɾʹ
ͨ͜͠ͱ w 4JOPO+4ͷVTF'BLF5JNFST ͱ͍͏ͷΛ͏ͱɺ ͷϞοΫ͕Ͱ͖Δɻ˞+FTUʹΈࠐΈͷ VTF'BLF5JNFST ͕͋Δɻ w KFTUGO Λ͏ͱɺؔΛϞοΫͰ͖Δɻ˞Πϕϯ
τϋϯυϥ ྫPO$MJDL ͷςετͱ͔Ͱ͑ͯศར w KFTUNPDL Λ͏ͱɺಛఆͷϞδϡʔϧΛϞοΫ Ͱ͖Δɻ˞@@NPDLT@@σΟϨΫτϦʹϑΝΠϧΛஔ ͘͜ͱͰࣗಈͰϞοΫ͢ΔΈ͋Γ·͢ɻ
Wallaby.jsͷྑ͍ͱ͜Ζ w ςετͷ࣮ߦ݁Ռ͕ɺ࣮ߦՕॴͷۙ͘ʹ ͙͢ʹ ද ࣔ͞ΕΔɻ w ΧόϨοδ͕ΤσΟλ্ʹදࣔ͞ΕΔɻ˞ΧόϨο δࣗମOZDͳͲΛ͑औΕΔɻ w
؆қతͳϕϯνϚʔΫ͍ͯΔ ࣮ߦ͕͍ॲཧΛ ݟ͚͍ͭ͢
ςετͷվળͷࣄྫ →
͓·͚ w KFTUTQZ0O Λ͏ͱɺϝιουݺͼग़͠ΛϞοΫ Ͱ͖Δɻ ϞοΫݩͷݺͼग़͠Λ͙߹ KFTUTQZ0O NPDL*NQMFNFOUBUJPO Λ͏ɻ
w +FTUʹ4OBQTIPU5FTUJOHͱ͍͏6*ͷςετ͚ʹ ར༻Ͱ͖Δػೳ͕͋Γ·͢ɻ w &&ςετ ϒϥβʹΑΔࣗಈςετ Λߦ͏߹ɺ $ZQSFTTͱ͍͏πʔϧ͋Γ·͢ɻ Կ͔Χοί͍͍ ͭ
͝੩ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠