Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Laravelで始めるテスト生活
bmf_san
February 16, 2019
Programming
1
820
Laravelで始めるテスト生活
bmf_san
February 16, 2019
Tweet
Share
More Decks by bmf_san
See All by bmf_san
ゆっくりHackerRank
bmf_san
0
11
ハイ__ᐛ___パァ_テキストプリプロフェッ__ᐛ___サァ_.pdf
bmf_san
0
39
net/httpでつくるHTTPルーター自作入門
bmf_san
0
110
GoでRouter自作実装寄りな話
bmf_san
0
100
Golang_chromedp_slack_botでslackの絵文字自動生成ボットをつくってみた.pdf
bmf_san
0
45
GolangでURLルーターをつくった
bmf_san
1
180
Dive to clean architecture with golang
bmf_san
2
1k
PHPでURLルーティングを自作する
bmf_san
1
1.8k
ゴリラで学ぶソフトウェアの法則10選
bmf_san
0
180
Other Decks in Programming
See All in Programming
Swift Regex
usamik26
0
100
Modern Android Developer ~ 안내서
pluu
1
590
Java初心者が知っておくべきプログラミングのこと - JJUG CCC 2022 Spring
kishida
5
530
IE Graduation (IE の功績を讃える)
jxck
20
12k
Running Laravel/PHP on AWS (AWS Builders Day Taiwan 2022)
dwchiang
0
130
模組化的Swift架構(二) DDD速成
haifengkao
0
360
Meet Swift Regex
usamik26
0
320
Make the most of Django - PyCon Italia 2022
pauloxnet
0
110
Airflowはすごいぞ!
hankehly
0
370
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
390
Jetpack Compose best practices 動画紹介 @GoogleI/O LT会
takakitojo
0
280
Cybozu GoogleI/O 2022 LT会 - Input for all screens
jaewgwon
0
280
Featured
See All Featured
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
Designing for Performance
lara
597
63k
The Invisible Side of Design
smashingmag
290
48k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
Facilitating Awesome Meetings
lara
29
4k
Documentation Writing (for coders)
carmenhchung
48
2.5k
Web development in the modern age
philhawksworth
197
9.3k
Side Projects
sachag
450
37k
Scaling GitHub
holman
451
140k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Producing Creativity
orderedlist
PRO
333
37k
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ͱ͍͏બ͋Δ • ॻ͖͍͢ػೳςετ͔Β࢝ΊΔͱςετʹ׳ΕΔʢͱࢥ͏ʣ • ϓϩάϥϜΛΑΓৄࡉʹςετ͢Δίʔυʢ୯ମςετͱ͔ʣ͕ཉ͘͠ͳͬͯ͘Δ • ࣗવͱஈ֊తʹɹʢσόοάͱ͔܁Γฦ͍ͯ͠Δͱʣςετͷॻ͖ํඞཁੑΛମײ͢Δ • ςετ͕Θ͔Βͳ͚Ε·ͣػೳςετΛॻ͍ͯΈΔͷ͕ྑ͍͔͠Εͳ͍
͓ΘΓ