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
bmf_san
February 16, 2019
Programming
1
1.3k
Laravelで始めるテスト生活
bmf_san
February 16, 2019
Tweet
Share
More Decks by bmf_san
See All by bmf_san
レーダーをつくる
bmf_san
0
29
契約テストとPactについて
bmf_san
0
76
5分でわかるSLO
bmf_san
2
100
権限について考える
bmf_san
2
120
自作HTTPルーターから新しいServeMuxへ
bmf_san
3
1.8k
古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略
bmf_san
1
390
アジャイルワークショップ
bmf_san
0
160
Makuakeの認証基盤とRe-Architectureチーム
bmf_san
0
2.8k
天下一HTTPRouter武闘会.pdf
bmf_san
8
4.4k
Other Decks in Programming
See All in Programming
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
5.6k
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.1k
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
190
iOS開発スターターキットの作り方
akidon0000
0
240
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
460
新世界の理解
koriym
0
130
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
160
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
580
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.1k
Infer入門
riru
4
1.5k
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
270
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Making the Leap to Tech Lead
cromwellryan
134
9.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Adopting Sorbet at Scale
ufuk
77
9.5k
It's Worth the Effort
3n
185
28k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
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ͱ͍͏બ͋Δ • ॻ͖͍͢ػೳςετ͔Β࢝ΊΔͱςετʹ׳ΕΔʢͱࢥ͏ʣ • ϓϩάϥϜΛΑΓৄࡉʹςετ͢Δίʔυʢ୯ମςετͱ͔ʣ͕ཉ͘͠ͳͬͯ͘Δ • ࣗવͱஈ֊తʹɹʢσόοάͱ͔܁Γฦ͍ͯ͠Δͱʣςετͷॻ͖ํඞཁੑΛମײ͢Δ • ςετ͕Θ͔Βͳ͚Ε·ͣػೳςετΛॻ͍ͯΈΔͷ͕ྑ͍͔͠Εͳ͍
͓ΘΓ