Slide 1

Slide 1 text

LaravelͰ࢝ΊΔςετੜ׆ @bmf_san @Laravel JP Conference 2019 2019/02/16

Slide 2

Slide 2 text

ࣗݾ঺հ Software engineer @bmf_san

Slide 3

Slide 3 text

ࠓ೔࿩͢͜ͱ • What? • LaravelͰػೳςετॻ͘ͷ͸͍͍ͧʂ • ؆୯ʹ࢝Ί΍͍͢؀ڥ • ෼͔Γ΍͍͢APIʢςετϝιουʣ • Who • ςετ͔͍ͨ͜ͱͳ͍ਓ • ॻ͍ͨࣄ͋Δਓ͸͜Ε͔Βॻ͜͏ͱ͢ΔਓͷͨΊʹɾɾ

Slide 4

Slide 4 text

ػೳςετ is Կʁ • γεςϜ͕Ϣʔβʔ͔ΒΈͨ࢓༷௨Γಈ͔֬͘ೝ͢Δ • ݁߹ςετͷҰํࣜ • ϒϥ΢βͰͷखಈςετʹࣅ͍ͯΔ • →ςετॻ͍ͨ͜ͱͳ͍ਓͰ΋औΓ૊Έқ͍͸ͣ

Slide 5

Slide 5 text

ͳͥLaravelͰػೳςετΛ࢝ΊΔͷ͔ʁ • ػೳςετAPI͕ॆ࣮ • Illuminate\Foundation\Testing • Github - laravel/browser-kit-testing • 5.4͘Β͍͔Βผύοέʔδʹͳͬͯ͠·ͬͨ • 5.4ʙͳΒLaravel Dusk࢖ͬͨ΄͏͕Α͍͔΋

Slide 6

Slide 6 text

LaravelͰػೳςετΛ࢝ΊΔ • ؀ڥߏஙʢLaravel5.4ʙʣ • ςετ༻DBηοτΞοϓ • config/database.php • phpunit.xml • .env • composer require laravel/browser-kit-testing —dev • 5.4~ͷ৔߹

Slide 7

Slide 7 text

ϦϙδτϦ • ࡶʹػೳςετΛମײͰ͖ͦ͏ͳ؀ڥ͓͍ͭͬͯ͘ ͨ • Github - bmf-san/laravel-test-handson

Slide 8

Slide 8 text

ςετΛॻ͍ͯΈΔ • Github - bmf-san/laravel-test-handson • Ϣʔβʔొ࿥͕Ͱ͖Δ • ϩάΠϯ͕Ͱ͖Δ • هࣄͷ࡞੒͕Ͱ͖Δ • هࣄͷฤू͕Ͱ͖Δ • هࣄͷ࡟আ͕Ͱ͖Δ • etc …

Slide 9

Slide 9 text

Ϣʔβʔొ࿥ͷػೳςετ ਖ਼͘͠ೖྗͯ͠ૹ৴͢ΔͱɺIPNFʹϦμΠϨΫτ SFHJTUFS

Slide 10

Slide 10 text

Ϣʔβʔొ࿥ͷػೳςετ IPNF

Slide 11

Slide 11 text

Ϣʔβʔొ࿥ͷػೳͷςετ

Slide 12

Slide 12 text

ϩάΠϯͷػೳςετ ਖ਼͘͠ೖྗͯ͠ૹ৴͢ΔͱɺIPNFʹϦμΠϨΫτ MPHJO

Slide 13

Slide 13 text

ϩάΠϯͷػೳςετ IPNF

Slide 14

Slide 14 text

ϩάΠϯͷػೳͷςετ

Slide 15

Slide 15 text

هࣄ࡞੒ͷػೳςετ ਖ਼͘͠ೖྗͯ͠ૹ৴͢ΔͱɺQPTUʹϦμΠϨΫτ QPTUDSFBUF ϩάΠϯ͍ͯ͠ͳ͍ͱΞΫηεͰ͖ͳ͍ϖʔδ

Slide 16

Slide 16 text

هࣄ࡞੒ͷػೳςετ QPTU

Slide 17

Slide 17 text

هࣄ࡞੒ͷػೳςετ

Slide 18

Slide 18 text

ͦͷଞͷAPI DMJDL ϦϯΫΛΫϦοΫ͠ͱ͖ͷϦΫΤετɾϨεϙϯεΛݕূͰ͖Δ TFMFDU ϥδΦϘλϯ·ͨ͸υϩοϓμ΢ϯϦετͷ߲໨Λબ୒ͨ͠ͱ͖ͷ ݕূ DIFDL νΣοΫϘοΫεͷ߲໨Λબ୒ͨ͠ͱ͖ͷݕূ VODIFDL νΣοΫϘοΫεͷ߲໨Λඇબ୒ʹͨ͠ͱ͖ͷݕূ BUUBDI ϑΝΠϧΠϯϓοτʹϑΝΠϧΛΞλονͨ͠ͱ͖ͷݕূ

Slide 19

Slide 19 text

ศརπʔϧ • Laravel TestTools • Chrome extension • https://chrome.google.com/webstore/detail/ laravel-testtools/ ddieaepnbjhgcbddafciempnibnfnakl

Slide 20

Slide 20 text

ศརπʔϧ ೖྗɾૢ࡞͢Δͱˠ ˡςετίʔυ͕ࣗಈͰੜ੒͞ΕΔ

Slide 21

Slide 21 text

·ͱΊ • Laravel͸ػೳςετ͕ॻ͖΍͍͢ • ผύοέʔδʢbrowser-kit-testingʣʹͳ͕ͬͨɺศརͰ෼͔Γ΍͍͢API͕༻ҙ͞Ε͍ͯΔ • browser-kit-testingΛ࢖Θͳ͘ͱ΋͋Δఔ౓ͷAPI͸ຊମʹ࢒͍ͬͯΔ • ؆୯ͳDOMݕূ͘Β͍ͳΒͰ͖Δ͸ͣ • 5.4ʙͳΒDuskͱ͍͏બ୒΋͋Δ • ॻ͖΍͍͢ػೳςετ͔Β࢝ΊΔͱςετʹ׳ΕΔʢͱࢥ͏ʣ • ϓϩάϥϜΛΑΓৄࡉʹςετ͢Δίʔυʢ୯ମςετͱ͔ʣ͕ཉ͘͠ͳͬͯ͘Δ • ࣗવͱஈ֊తʹɹʢσόοάͱ͔܁Γฦ͍ͯ͠Δͱʣςετͷॻ͖ํ΍ඞཁੑΛମײ͢Δ • ςετ͕Θ͔Βͳ͚Ε͹·ͣػೳςετΛॻ͍ͯΈΔͷ͕ྑ͍͔΋͠Εͳ͍

Slide 22

Slide 22 text

͓ΘΓ