誰かフィクスチャ書いてくれるんなら俺もテスト書くわ

 誰かフィクスチャ書いてくれるんなら俺もテスト書くわ

PHPカンファレンス関西2018 LT 資料です。QBF (QuickBrownFox https://github.com/LapazPhp/QuickBrownFox) にフィードバックください #phpkansai

8c1ecc738eee0254a41c2d4b33cda7b6?s=128

Hisateru Tanaka

July 14, 2018
Tweet

Transcript

  1. ୭͔ϑΟΫενϟॻ͍ͯ ͘ΕΔΜͳΒԶ΋ςετॻ͘Θ

  2. ͨͳ͔ͻͯ͞Δ @tanakahisateru ॴ௕

  3. None
  4. ͪΐXXXԶͷϑΥϩϫʔ༏ल͗͢ϫϩλX

  5. ͤ΍Ζ

  6. νϡʔτϦΞϧʹग़ͯ͘Δ&3ਤ ϕʔλ൛ϦϦʔε͠·ͨ͠

  7. ݱ࣮ͷۀ຿ʹग़ͯ͘Δ&3ਤ ͪΐͬͱҭͬͯLʜ͋ɺ͋Ε

  8. ʮ୭͔ϑΟΫενϟॻ͍ͯ͘ΕͨΒԶ΋ςετॻ͘Θʯ ʲҙʳ͏͔ͬΓςετΛॻ͘ͱϚΠά ϨʔγϣϯͷͨͼʹશϑΟΫενϟΛϝ ϯς͢ΔϋϝʹͳΔ͔Β΍ͩ 8FCαʔϏεͷػೳ͸೔ʑ੒௕͠·͢ΑͶ

  9. 1)1ͬͯ'BDUPSZ(JSMͳ͍ͷ -BSBWFMͷGBDUPSZ ʜ NBLF  ͷ͜ͱݴͬͯΔ

  10. ੜͰ42-ॻ͔Εͯͯɺ ͦͷ݁Ռ͕BSSBZͰฦͬͯ͘Δ ϝιου͕ʮۀ຿ϩδοΫʯͱ ݺ͹Ε͍ͯΔͷͰ͕ͦ͢Ε͸ʜ ͓ɺ͓͎ʜʜ

  11. ݁ہɺ/05/6--ຒΊͳ͍ͱμϝͱ͔ɺ ֎෦Ωʔͷઌ͕ͳ͍ͱμϝͱ͔ɺ΍Δ͜ͱ ຊ࣭తʹμϯϓͱಉ͡͡ΌΜ ԾʹςʔϒϧʹରԠ͢Δ"DUJWF3FDPSE͕ ࣮૷͞Ε͍ͯͨͱͯ͠΋ લఏ৚݅ͷΠϯαʔτʹςετ ର৅Ϋϥεͷ࣮૷Λ࢖͏ͱ͔ɺ ઈର৴༻Ͱ͖ͳ͍Ͱ͠ΐͦΕ όϦσʔγϣϯͱ͔Πϕϯτ τϦΨʔͱ͔ಈ͚͘Ͳ͍͍ͷ

     'BDUPSZ(JSM͸ࢦఆ͢Ε͹ΦϑʹͰ͖Δ͚Ͳ ݻఆμϯϓͷ΄͏͕ϚγͳͷͰ͸ʜ
  12. w03.΍ϑϨʔϜϫʔΫͱ͸ಠཱͨ͠ w৑௕ͳهड़Λ΋ͬͱൈຊతʹݮΒͤΔ w೔ʑͷαʔϏε੒௕Λ્֐͠ͳ͍ ʜϑΟΫενϟϩʔμʔ͕ཉ͍͠

  13. ͦΜͳͷݟͨ͜ͱͳ͍ΑͶ

  14. ࡞ͬͨ ͱ͍͏Θ͚Ͱ IUUQTQBDLBHJTUPSHQBDLBHFTMBQB[RVJDLCSPXOGPY

  15. σϞ (JU)VCʹ͋Γ·͢ IUUQTHJUIVCDPNUBOBLBIJTBUFSV2VJDL#SPXO'PYEFNP

  16. None
  17. None
  18. 03.ʹґଘ͠ͳ͍

  19. ςετ͕ؔ৺Λ࣋ͭ ͜ͱ͔͠ॻ͖ͨ͘ͳ͍ /6--·ͨ͸%&'"6-5͋ΓσϑΥϧτʹ೚ͤΔ /05/6--ܕʹҧ൓͠ͳ͍஋Λ࡞Δ ֎෦Ωʔ੍໿ࢀরઌͷςʔϒϧ͔ΒॱʹϐοΫΞοϓ͢Δ ֎෦Ωʔ੍໿ࢀরઌ͕ۭࢀরઌͷςʔϒϧʹμϛʔΛࣗಈੜ੒͢Δ ະࢦఆͷ߲໨͸͢΂ͯɺ࣮ߦ࣌ʹ%#ͷ੍໿Λ ݟ੍ͯ໿ʹҧ൓͠ͳ͍μϛʔΛ፻଄ શࣗಈ ॏཁ

  20. ੒௕ͯ͠΋յΕͳ͍Ͱཉ͍͠ ϢχʔΫ੍໿΍஋ൣғͷ੍໿ʹ͍ͭͯ͸ɺςʔϒϧ͝ͱʹ҆શͳσϑΥϧτ஋ੜ੒ؔ਺ΛઃఆՄೳ ࣮ߦ࣌ʹࣗಈੜ੒ͳΒɺ੍໿ͷڧ͍ΧϥϜ͕૿͑ͯ΋ طଘͷςετ͸੍໿ҧ൓Λى͜͞ͳ͍ w /05/6--ʹҾ͔͔ͬΔͨͼʹத அ͞Εͯཉ͘͠ͳ͍ w ֎෦Ωʔ੍໿ʹҧ൓͠ͳ͍ͨΊͷ৚ ݅͸ޙʑ࿈࠯తʹେ͖͘ͳΔ

    ˢςετର৅Ͱͳ͍ Ͱ΋
  21. ࣦഊ࣌఺Ͱ %#ʹ࢒ͬͨ΋ͷΛݟ͍ͨ ςʔϒϧͷΫϦʔϯΞοϓ͸ɺ࣍ճηογϣϯͰ ର৅ͷςʔϒϧʹ৽ͨʹԿ͔͠Α͏ͱͨ͠ͱ͖ 1)16OJUͳΒTFU6Q Ͱ࣍ηογϣϯΛ։࢝͠·͢ w ςετऴྃ࣌ʹશσʔλഁغͩͱɺΫϥογϡͨ͠Β࢒ͬͪΌͬͯ࣍ճࠔΔΑͶ w ςετΛτϥϯβΫγϣϯͰғΜͰৗʹϩʔϧόοΫͱ͔ɺ࣮຿ͩͱةݥͳ߳Γ͔͠ͳ͍

    w ͳͷͰςʔϒϧͷΫϦʔϯΞοϓλΠϛϯά͸ʮςετ࣮ߦͷલʯͳͷͰ͢ w ΋ͦ͠ͷͱ͖ڵຯͷͳ͍ςʔϒϧʹΰϛ͕࢒ͬͯͯ΋ɺͦ΋ͦ΋ؔ৺ͳ͍ͳΒ
 ஌ͬͨͬͪ͜Όͳ͍ΑͶ
  22. ࠶ར༻Մೳͳੜ੒ϧʔϧΛ ૊Έ߹Θ͍ͤͨ ΋ͪΖΜ'BDUPSZ(JSMEFpOFΈ͍ͨʹࠩ෼తʹੜ੒σʔλΛಛघԽͰ͖Δ $fixtures->table('books', function ($d) { $d->generator(‘͍҆')->define([ 'tite' =>

    ..., 'price' => ..., ]); $d->generator('࠷৽')->define([ 'tite' => ..., 'updated_at' => ..., ]); }); $session->into('books')->with(['͍҆', ‘࠷৽', [ 'description' => “࠷৽Λ͓खࠒՁ֨Ͱ”, ])->generate(100);
  23. ͜Ε&&ςετͷ લఏ৚݅ʹ΋࢖͑Δͧʜ ײँ IUUQTQBDLBHJTUPSHQBDLBHFTJQQFZRVJDLCSPXOGPYDPEFDFQUJPOIFMQFS *QQFZ͞Μʹ࡞ͬͯ΋Βͬͨ %#௚͔ͩΒ

  24. ୀ۶ͳ࡞ۀ ੍໿ҧ൓ͱͷઓ͍ Λ΍ͬͯΔ ༨༟͕ͳ͍ͷͰʮ୭͔΍ͬͯʯ ϓϩάϥϚʔͰ͠ΐɺ ͳΜͰୀ۶ͳ࡞ۀͷ໰୊Λ ϓϩάϥϜʹղ͔ͤͳ͍ͷ

  25. ϑΟΫενϟΛॻ͘୭͔ 2VJDL#SPXO'PY ͜ΕͰςετ͠ͳ͍ݴ͍༁͸Ͱ͖ͳ͘ͳΓ·ͨ͠ɻ͕Μ͹Γ·͢ ͍͕ͭ͜શ෦΍ΔͬͯΑ