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
Laravelで始めるテスト生活
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
bmf_san
February 16, 2019
Programming
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravelで始めるテスト生活
bmf_san
February 16, 2019
More Decks by bmf_san
See All by bmf_san
桃太郎で始めるRego入門‐今日から使えるRegoの基本編
bmf_san
0
74
完璧を求めない意思決定-アクセス制御基盤における制約との向き合い方
bmf_san
5
20k
AAPについて調べてみた
bmf_san
0
140
レーダーをつくる
bmf_san
0
84
契約テストとPactについて
bmf_san
0
130
5分でわかるSLO
bmf_san
2
180
権限について考える
bmf_san
2
170
自作HTTPルーターから新しいServeMuxへ
bmf_san
3
1.8k
古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略
bmf_san
1
510
Other Decks in Programming
See All in Programming
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
共通化で考えるべきは、実装より公開する型だった
codeegg
0
280
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
270
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
150
FDEが実現するAI駆動経営の現在地
gonta
2
210
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
150
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
400
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to Ace a Technical Interview
jacobian
281
24k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
240
Designing for humans not robots
tammielis
254
26k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
LaravelͰ࢝ΊΔςετੜ׆ @bmf_san @Laravel JP Conference 2019 2019/02/16
ࣗݾհ Software engineer @bmf_san
ࠓ͢͜ͱ • What? • LaravelͰػೳςετॻ͘ͷ͍͍ͧʂ • ؆୯ʹ࢝Ί͍͢ڥ • ͔Γ͍͢APIʢςετϝιουʣ •
Who • ςετ͔͍ͨ͜ͱͳ͍ਓ • ॻ͍ͨࣄ͋Δਓ͜Ε͔Βॻ͜͏ͱ͢ΔਓͷͨΊʹɾɾ
ػೳςετ is Կʁ • γεςϜ͕Ϣʔβʔ͔ΒΈ༷ͨ௨Γಈ͔֬͘ೝ͢Δ • ݁߹ςετͷҰํࣜ • ϒϥβͰͷखಈςετʹࣅ͍ͯΔ •
→ςετॻ͍ͨ͜ͱͳ͍ਓͰऔΓΈқ͍ͣ
ͳͥLaravelͰػೳςετΛ࢝ΊΔͷ͔ʁ • ػೳςετAPI͕ॆ࣮ • Illuminate\Foundation\Testing • Github - laravel/browser-kit-testing •
5.4͘Β͍͔Βผύοέʔδʹͳͬͯ͠·ͬͨ • 5.4ʙͳΒLaravel Duskͬͨ΄͏͕Α͍͔
LaravelͰػೳςετΛ࢝ΊΔ • ڥߏஙʢLaravel5.4ʙʣ • ςετ༻DBηοτΞοϓ • config/database.php • phpunit.xml •
.env • composer require laravel/browser-kit-testing —dev • 5.4~ͷ߹
ϦϙδτϦ • ࡶʹػೳςετΛମײͰ͖ͦ͏ͳڥ͓͍ͭͬͯ͘ ͨ • Github - bmf-san/laravel-test-handson
ςετΛॻ͍ͯΈΔ • Github - bmf-san/laravel-test-handson • Ϣʔβʔొ͕Ͱ͖Δ • ϩάΠϯ͕Ͱ͖Δ •
هࣄͷ࡞͕Ͱ͖Δ • هࣄͷฤू͕Ͱ͖Δ • هࣄͷআ͕Ͱ͖Δ • etc …
Ϣʔβʔొͷػೳςετ ਖ਼͘͠ೖྗͯ͠ૹ৴͢ΔͱɺIPNFʹϦμΠϨΫτ SFHJTUFS
Ϣʔβʔొͷػೳςετ IPNF
Ϣʔβʔొͷػೳͷςετ
ϩάΠϯͷػೳςετ ਖ਼͘͠ೖྗͯ͠ૹ৴͢ΔͱɺIPNFʹϦμΠϨΫτ MPHJO
ϩάΠϯͷػೳςετ IPNF
ϩάΠϯͷػೳͷςετ
هࣄ࡞ͷػೳςετ ਖ਼͘͠ೖྗͯ͠ૹ৴͢ΔͱɺQPTUʹϦμΠϨΫτ QPTUDSFBUF ϩάΠϯ͍ͯ͠ͳ͍ͱΞΫηεͰ͖ͳ͍ϖʔδ
هࣄ࡞ͷػೳςετ QPTU
هࣄ࡞ͷػೳςετ
ͦͷଞͷAPI DMJDL ϦϯΫΛΫϦοΫ͠ͱ͖ͷϦΫΤετɾϨεϙϯεΛݕূͰ͖Δ TFMFDU ϥδΦϘλϯ·ͨυϩοϓμϯϦετͷ߲Λબͨ͠ͱ͖ͷ ݕূ DIFDL νΣοΫϘοΫεͷ߲Λબͨ͠ͱ͖ͷݕূ VODIFDL νΣοΫϘοΫεͷ߲Λඇબʹͨ͠ͱ͖ͷݕূ
BUUBDI ϑΝΠϧΠϯϓοτʹϑΝΠϧΛΞλονͨ͠ͱ͖ͷݕূ
ศརπʔϧ • Laravel TestTools • Chrome extension • https://chrome.google.com/webstore/detail/ laravel-testtools/
ddieaepnbjhgcbddafciempnibnfnakl
ศརπʔϧ ೖྗɾૢ࡞͢Δͱˠ ˡςετίʔυ͕ࣗಈͰੜ͞ΕΔ
·ͱΊ • Laravelػೳςετ͕ॻ͖͍͢ • ผύοέʔδʢbrowser-kit-testingʣʹͳ͕ͬͨɺศརͰ͔Γ͍͢API͕༻ҙ͞Ε͍ͯΔ • browser-kit-testingΛΘͳ͘ͱ͋ΔఔͷAPIຊମʹ͍ͬͯΔ • ؆୯ͳDOMݕূ͘Β͍ͳΒͰ͖Δͣ •
5.4ʙͳΒDuskͱ͍͏બ͋Δ • ॻ͖͍͢ػೳςετ͔Β࢝ΊΔͱςετʹ׳ΕΔʢͱࢥ͏ʣ • ϓϩάϥϜΛΑΓৄࡉʹςετ͢Δίʔυʢ୯ମςετͱ͔ʣ͕ཉ͘͠ͳͬͯ͘Δ • ࣗવͱஈ֊తʹɹʢσόοάͱ͔܁Γฦ͍ͯ͠Δͱʣςετͷॻ͖ํඞཁੑΛମײ͢Δ • ςετ͕Θ͔Βͳ͚Ε·ͣػೳςετΛॻ͍ͯΈΔͷ͕ྑ͍͔͠Εͳ͍
͓ΘΓ