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.2k
Laravelで始めるテスト生活
bmf_san
February 16, 2019
Tweet
Share
More Decks by bmf_san
See All by bmf_san
レーダーをつくる
bmf_san
0
11
契約テストとPactについて
bmf_san
0
53
5分でわかるSLO
bmf_san
2
76
権限について考える
bmf_san
2
90
自作HTTPルーターから新しいServeMuxへ
bmf_san
3
1.7k
古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略
bmf_san
1
320
アジャイルワークショップ
bmf_san
0
120
Makuakeの認証基盤とRe-Architectureチーム
bmf_san
0
2.5k
天下一HTTPRouter武闘会.pdf
bmf_san
8
4.3k
Other Decks in Programming
See All in Programming
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
110
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
140
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
210
TCAを用いたAmebaのリアーキテクチャ
dazy
0
210
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
480
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
7
1.3k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
730
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
240
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
0
110
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
160
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
Jakarta EE meets AI
ivargrimstad
0
510
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Scaling GitHub
holman
459
140k
GitHub's CSS Performance
jonrohan
1030
460k
Done Done
chrislema
182
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
KATA
mclloyd
29
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Six Lessons from altMBA
skipperchong
27
3.6k
Code Reviewing Like a Champion
maltzj
521
39k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
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ͱ͍͏બ͋Δ • ॻ͖͍͢ػೳςετ͔Β࢝ΊΔͱςετʹ׳ΕΔʢͱࢥ͏ʣ • ϓϩάϥϜΛΑΓৄࡉʹςετ͢Δίʔυʢ୯ମςετͱ͔ʣ͕ཉ͘͠ͳͬͯ͘Δ • ࣗવͱஈ֊తʹɹʢσόοάͱ͔܁Γฦ͍ͯ͠Δͱʣςετͷॻ͖ํඞཁੑΛମײ͢Δ • ςετ͕Θ͔Βͳ͚Ε·ͣػೳςετΛॻ͍ͯΈΔͷ͕ྑ͍͔͠Εͳ͍
͓ΘΓ