Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm

PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm

2018/12/26 第133回 PHP勉強会@東京で発表した内容です。

tenkoma (Koji Tanaka)

December 26, 2018
Tweet

More Decks by tenkoma (Koji Tanaka)

Other Decks in Programming

Transcript

  1. 1IQ4UPSNͱ1)16OJUΛ
    ࿈ܞͯ͠Ϣχοτςετ
    ࡞੒Λָʹ͢Δ
    ୈճ1)1ษڧձ!౦ژ
    ాத޹࣏!UFOLPNB

    View full-size slide

  2. ࿩͢͜ͱ
    w1)16OJUͱ͸ɺ1IQ4UPSN࿈ܞͱ͸
    w࿈ܞͮ͠Β͍؀ڥ
    w࿈ܞͷઃఆ
    wϢχοτςετ࡞੒͕Ͳ͏ָʹͳΔ͔ σϞ͋Γ

    w❌Ϣχοτςετͷجຊతͳॻ͖ํ
    w❌1IQ4UPSNͷجຊతͳ࢖͍ํ

    View full-size slide

  3. ࣗݾ঺հ
    wాத޹࣏ 5BOBLB,PKJ

    w!UFOLPNB (JU)VC 5XJUUFSʜ

    w#"4&גࣜձࣾ1SPEVDU%JWJTJPO

    #BDLFOE&OHJOFFS ʙ

    w1)1$BLF1)1όʔδϣϯΞοϓɾϞόΠϧΞϓϦ
    όοΫΤϯυ։ൃ
    w$POUSJCVUFEUP$BLF1)1

    View full-size slide

  4. 1)16OJUͱ͸
    1IQ4UPSN࿈ܞͱ͸

    View full-size slide

  5. 1)16OJU
    w 1)1ίʔυͷϢχοτςετΛॻͨ͘Ί
    ͷϑϨʔϜϫʔΫ
    w ଟ͘ͷ1)1ϥΠϒϥϦͰ࢖ΘΕ͍ͯΔ
    w 8FCΞϓϦέʔγϣϯͷςετج൫ͱ͠
    ͯ΋࢖ΘΕΔ
    ˞େن໛1)1ϓϩδΣΫτͰ1)16OJUΛ̏ੈ୅ΞοϓάϨʔυ͢ΔͨΊʹ΍ͬͨ͜ͱ
    IUUQTTQFBLFSEFDLDPNEROFPQIQVOJUVQHSBEFTUPSZ TMJEF
    Λࢀߟʹ͠·ͨ͠

    View full-size slide

  6. 1)16OJU
    WFOEPSCJOQIQVOJU
    ΞΠίϯը૾
    IUUQTQJYBCBZDPNKBVTFSTNU[E
    ςετ࣮ߦ
    ςετ݁Ռ
    ࣮ߦ
    ݁ՌΛݕূ
    QIQVOJUίϚϯυ
    ͢΂ͯύε ͭҎ্ࣦഊ
    ςετέʔε
    ςετ͍ͨ͠
    ΞϓϦέʔγϣϯ
    ίʔυ

    View full-size slide

  7. 1IQ4UPSN
    w 1IQ4UPSN1)1ΞϓϦέʔ
    γϣϯͷͨΊͷ౷߹։ൃ؀ڥ
    *%&

    w ΤσΟλɾσόοΨ࿈ܞɾ੩
    తղੳɾόʔδϣϯ؅ཧFUD

    View full-size slide

  8. 1IQ4UPSNͱ࿈ܞ
    WFOEPSCJOQIQVOJU
    ίϚϯυ࣮ߦ ݁ՌΛऔಘͯ͠දࣔ
    ࿈ܞ͢Δ͜ͱͰɺ
    1IQ4UPSN͔Βςετ
    ࣮ߦͰ͖Δ
    ςετέʔε ΞϓϦέʔγϣϯίʔυ

    View full-size slide

  9. ࿈ܞͮ͠Β͍؀ڥ
    $BLF1)1ΞϓϦ

    View full-size slide

  10. $BLF1)1ݻ༗ͷࣄ৘
    $BLF1)1
    5FTU4IFMM
    ίϚϯυ࣮ߦ ݁ՌΛऔಘͯ͠දࣔ
    ςετέʔε ΞϓϦέʔγϣϯίʔυ
    w ςετ࣮ߦίϚϯ
    υ͕ΧελϚΠζ
    ͞Ε͍ͯΔ

    View full-size slide

  11. ͣͬͱղܾ͔ͨͬͨ͠
    ࿈ܞͰ͖ͳ͍͔
    ίʔυΛॻ͍ͯΈͨ

    View full-size slide

  12. ࿈ܞͰ͖ͨͷͰϒϩάهࣄॻ͍ͨ
    IUUQTUFOLPNBIBUFOBCMPHDPNFOUSZ

    View full-size slide

  13. ࿈ܞͷઃఆ

    View full-size slide

  14. આ໌༻؀ڥ
    w $BLF1)1ެࣜͷνϡʔτϦΞϧͰ࡞ͬͨ
    $BLFΞϓϦʹςετΛ௥Ճ
    w IUUQTHJUIVCDPNUFOLPNB
    DBLFQIQ@DNT
    w %PDLFSͰߏங
    w .BDͰݕূࡁɺ8JOEPXTͰ΋σόοάҎ
    ֎͸ಈ࡞֬ೝࡁ

    View full-size slide

  15. ։ൃ؀ڥىಈ
    $ docker-compose up -d

    View full-size slide

  16. ઃఆ1)1$-*

    View full-size slide

  17. ઃఆ1)1$-*

    View full-size slide

  18. ઃఆ1)1$-*

    View full-size slide

  19. ઃఆ1)1$-*
    w ίϯςφ಺ͷ1)1
    όʔδϣϯ͕ද
    ࣔ͞ΕͨΒ0,
    w දࣔ͞Εͳͯ͘
    ΋େৎ෉ͳ͜ͱ
    ΋͋Δ

    View full-size slide

  20. ઃఆ5FTU'SBNFXPSLT
    w දࣔ͞ΕΔμΠΞϩάͰbQIQDMJ`Λબ୒ͯ͠0,
    w b-PDBM`ͱ͍͏ઃఆ͸࡟আ͠·͠ΐ͏

    View full-size slide

  21. ઃఆ5FTU'SBNFXPSLT
    w 1)16OJUͷόʔδϣϯ͕දࣔ͞ΕͨΒ0,

    View full-size slide

  22. Ϣχοτςετ࡞੒͕
    Ͳ͏ָʹͳΔ͔

    View full-size slide

  23. 1IQ4UPSN͔Β
    ςετΛ࣮ߦͰ͖Δ
    w ϑΝΠϧɾςετϝιουɾϑΥ
    ϧμ಺શ෦
    w ࣦഊͨ͠ςετͷΈ࠶࣮ߦ
    w 3VOύωϧͷςετ݁Ռ͔Βίʔ
    υδϟϯϓ

    View full-size slide

  24. 1IQ4UPSN͔Β
    ςετΛ࣮ߦͰ͖Δ
    w ϑΝΠϧɾςετϝιουɾϑΥ
    ϧμ಺શ෦
    w ࣦഊͨ͠ςετͷΈ࠶࣮ߦ
    w 3VOύωϧͷςετ݁Ռ͔Βίʔ
    υδϟϯϓ

    View full-size slide

  25. w λʔϛφϧͱ*%&Λ੾Γସ͑ͣʹࡁ
    Ή
    w ಛఆͷϝιου͚࣮ͩߦ͍ͨ͠ͱ͖
    ʹ--filter=testSomethingͳ
    ͲͱࢦఆͤͣʹࡁΉ
    ͷϝϦοτ

    View full-size slide

  26. σόοά͠ͳ͕Β
    ςετ࣮ߦͰ͖Δ
    w ࣦഊͨ͠6TFSTMPHJO
    ͷ్தʹ

    ϒϨʔΫϙΠϯτΛઃఆͯ͠ม਺Λ֬ೝͯ͠
    ΈΔ
    w ϦΫΤετͰ*%1BTTXPSE͕1PTU͞Ε͍ͯΔ
    ͔֬ೝ 7BSJBCMFTͰΠϯΫϦϝϯλϧαʔν

    w ϒϨʔΫϙΠϯτΛ࢒ͨ͠··σόοάͤͣ
    ʹ࣮ߦ

    View full-size slide

  27. σόοά͠ͳ͕Β
    ςετ࣮ߦͰ͖Δ
    w ࣦഊͨ͠6TFSTMPHJO
    ͷ్தʹ

    ϒϨʔΫϙΠϯτΛઃఆͯ͠ςετΛ࠶࣮ߦ σ
    όοά

    w ϦΫΤετͰ*%1BTTXPSE͕1PTU͞Ε͍ͯΔ
    ͔֬ೝ 7BSJBCMFTͰΠϯΫϦϝϯλϧαʔν

    w ϒϨʔΫϙΠϯτΛ࢒ͨ͠··σόοάͤͣ
    ʹ࣮ߦ

    View full-size slide

  28. ͷϝϦοτ
    w ϒϨʔΫ͢Δͱςετதͷม
    ਺͕؆୯ʹ֬ೝͰ͖Δ
    w ϒϨʔΫϙΠϯτΛ੾Γସ͑
    ͳͯ͘΋ɺσόοά͋Γͳ͠
    ͷ࣮ߦ͕੾Γସ͑ΒΕΔ

    View full-size slide

  29. ςετ࣮ߦ࣌ͷΧόϨοδ
    ΛΤσΟλ΍ϑΝΠϥʹදࣔ
    w 6TFST$POUSPMMFSͰl3VO
    UFTUT 1)16OJU
    XJUI$PWFSBHFz
    w ʮ1SPKFDUʯύωϧʹߦΧόϨοδ͕දࣔ
    ͞ΕΔ
    w MPHJO
    Ͱೝূࣦഊ࣌ͷςετ͕Ͱ͖ͯͳ͍
    w ςετΛ௥Ճͯ͠࠶࣮ߦ

    View full-size slide

  30. w 1SPKFDUύωϧϑΥϧμ΍ϑΝΠϧ͝ͱͷߦΧόϨοδ͕දࣔ͞ΕΔ
    w ໼ҹςετͰ࣮ߦ͞Ε͍ͯͳ͍ߦ

    View full-size slide

  31. ςετ࣮ߦ࣌ͷΧόϨοδ
    ΛΤσΟλ΍ϑΝΠϥʹදࣔ
    w 6TFST$POUSPMMFSͰl3VO
    UFTUT 1)16OJU
    XJUI$PWFSBHFz
    w ʮ1SPKFDUʯύωϧʹߦΧόϨοδ͕දࣔ
    ͞ΕΔ
    w MPHJO
    Ͱೝূࣦഊ࣌ͷςετ͕Ͱ͖ͯͳ͍
    w ςετΛ௥Ճͯ͠࠶࣮ߦ

    View full-size slide

  32. ͷϝϦοτ
    w ίʔυ͕ςετͰ࣮ߦͰ͖͍ͯΔ͔
    ͷௐࠪ
    w Ͳͷߦ͕࣮ߦͰ͖͍ͯΔ͔֬ೝ͠ͳ
    ͕Βςετ࡞੒Λࢼߦࡨޡ͢Δ
    w ߦΧόϨοδΛ໨ࢦ͞ͳ͍৔
    ߹Ͱ΋ศར

    View full-size slide

  33. ·ͱΊ
    1IQ4UPSNͱ1)16OJUΛ࿈ܞ͢Δͱ
    w 1IQ4UPSN͔Βςετ࣮ߦͰ͖ͯɺख
    ͕ؒݮΔ
    w σόοά͠ͳ͕Βͷௐ͕ࠪ͠΍͍͢
    w ΧόϨοδΛݟͳ͕ΒςετΛॻ͘ͱίʔ
    υ͕࣮ߦͰ͖͍ͯΔ͔೺Ѳ͠΍͍͢

    View full-size slide