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

PHPUnitでモックとスタブを使いこなす / PHP Conference Japan 2024

asumikam
December 21, 2024
140

PHPUnitでモックとスタブを使いこなす / PHP Conference Japan 2024

asumikam

December 21, 2024
Tweet

Transcript

  1. ςετμϒϧ w ςετ໨తͰɺຊ൪ΦϒδΣΫτΛ ஔ͖׵͑Δ৔߹ͷ૯শ w ϞοΫʢϞοΫɾεύΠʣ w ελϒʢελϒɾμϛʔɾϑΣΠΫʣ w ˞ຊൃදͰ͸ϞοΫɾελϒͷΈ஫໨͢Δ

    5FTU%PVCMFIUUQTNBSUJOGPXMFSDPNCMJLJ5FTU%PVCMFIUNM ஔ͖׵͑Δ cc χηϞϊʹ͢Δ ςετϞοΫɾελϒΛॻ͘Ϟνϕ
  2. ςετμϒϧ w ςετ໨తͰɺຊ൪ΦϒδΣΫτΛ ஔ͖׵͑Δ৔߹ͷ૯শ w ϞοΫʢϞοΫɾεύΠʣ w ελϒʢελϒɾμϛʔɾϑΣΠΫʣ w ˞ຊൃදͰ͸ϞοΫɾελϒͷΈ஫໨͢Δ

    5FTU%PVCMFIUUQTNBSUJOGPXMFSDPNCMJLJ5FTU%PVCMFIUNM ׶͑ͯ χηϞϊʹ ͢Δཧ༝ʁ ςετϞοΫɾελϒΛॻ͘Ϟνϕ
  3. ୯ମςετ͕උ͑Δ΂͖ੑ࣭  ʮ୯ମʢ6OJUʣʯͱݺ͹ΕΔ গྔͷίʔυΛݕূ͢Δ  ࣮ߦ͕࣌ؒ୹͍  ִ཭͞Εͨঢ়ଶͰ࣮ߦ͞ΕΔ ΄Μ΋ͷͩͱ ςετ͕͓͍ͦ😵💫

    ˠ։ൃ͕ʮۤʯ ʮ୯ମςετͷߟ͑ํʗ࢖͍ํ୯ମςετͷఆٛʯΑΓҾ༻ ςετϞοΫɾελϒΛॻ͘Ϟνϕ
  4. ୯ମςετ͕උ͑Δ΂͖ੑ࣭  ʮ୯ମʢ6OJUʣʯͱݺ͹ΕΔ গྔͷίʔυΛݕূ͢Δ  ࣮ߦ͕࣌ؒ୹͍  ִ཭͞Εͨঢ়ଶͰ࣮ߦ͞ΕΔ χηϞϊͩͱ ςετ͕͸΍͍😄

    ˠ։ൃ͕ʮָʯ ʮ୯ମςετͷߟ͑ํʗ࢖͍ํ୯ମςετͷఆٛʯΑΓҾ༻ ςετϞοΫɾελϒΛॻ͘Ϟνϕ
  5. ୯ମςετ͕උ͑Δ΂͖ੑ࣭  ʮ୯ମʢ6OJUʣʯͱݺ͹ΕΔ গྔͷίʔυΛݕূ͢Δ  ࣮ߦ͕࣌ؒ୹͍  ִ཭͞Εͨঢ়ଶͰ࣮ߦ͞ΕΔ શ෦ ΄Μ΋ͷͩͱ

    ॏཁͳ࢓༷͕ ΅΍͚Δ🧐 ʮ୯ମςετͷߟ͑ํʗ࢖͍ํ୯ମςετͷఆٛʯΑΓҾ༻ ςετϞοΫɾελϒΛॻ͘Ϟνϕ
  6. ୯ମςετ͕උ͑Δ΂͖ੑ࣭  ʮ୯ମʢ6OJUʣʯͱݺ͹ΕΔ গྔͷίʔυΛݕূ͢Δ  ࣮ߦ͕࣌ؒ୹͍  ִ཭͞Εͨঢ়ଶͰ࣮ߦ͞ΕΔ Ұ෦Λ χηϞϊʹͯ͠

    ॏཁͳ࢓༷Λ ໨ཱͨͤΔ😄 ʮ୯ମςετͷߟ͑ํʗ࢖͍ํ୯ମςετͷఆٛʯΑΓҾ༻ ςετϞοΫɾελϒΛॻ͘Ϟνϕ
  7. FYQFDUT ʜ  ϝιου͕Կճ࣮ߦ͞ΕΔ͔Λݕূ BOZ ϝιου͕ճҎ্࣮ߦ͞ΕΔ͜ͱ PODF ϝιου͕ճ࣮ߦ͞ΕΔ͜ͱ FYBDUMZ JOU

    DPVOU ϝιου͕ͪΐ͏ͲDPVOUճ࣮ߦ͞ΕΔ͜ͱ OFWFS ϝιου͕࣮ߦ͞Εͳ͍͜ͱ BU-FBTU0ODF ϝιου͕ճҎ্࣮ߦ͞ΕΔ͜ͱ BU.PTU JOU DPVOU ϝιου͕࠷େDPVOUճ࣮ߦ͞ΕΔ͜ͱ IUUQTEPDTQIQVOJUEFFOBTTFSUJPOTIUNMBQQFOEJYFTBTTFSUJPOTBTTFSUUIBUUBCMFTDPOTUSBJOUT ϞοΫͱελϒͷ࢖͍෼͚
  8. XJUI   ʜ  ϝιουͷҾ਺ͷத਎Λݕূ FRVBM5P FYQFDUFE ஋͕౳ՁͰ͋Δ͜ͱ JT*OTUBODF0G

    )PHFDMBTT ༩͑ΒΕͨΫϥεͷΦϒδΣΫτͰ͋Δ͜ͱ fi MF&YJTUT ϑΝΠϧ͕ଘࡏ͢Δ͜ͱ TUSJOH$POUBJOT IFMMP จࣈྻΛؚΉ͜ͱ NBUDIFT3FHVMBS&YQSFTTJPO ʜ จࣈྻ͕ਖ਼نදݱʹϚον͢Δ͜ͱ BOZUIJOH ԿͰ΋ྑ͍ʂʂʂ IUUQTEPDTQIQVOJUEFFOBTTFSUJPOTIUNMBQQFOEJYFTBTTFSUJPOTBTTFSUUIBUUBCMFTDPOTUSBJOUT ϞοΫͱελϒͷ࢖͍෼͚
  9. XJMMͳΜͱ͔͔Μͱ͔ ʜ  ಛఆͷ஋Λฦ͢Α͏ʹ໛฿ʢϞοΫɾελϒڞ௨ʣ XJMM3FUVSO NJYFEWBMVF NJYFEOFYU7BMVFT ஋ WBMVF Λฦ͢Α͏ʹ໛฿

    ୈҾ਺Ҏ߱Λࢦఆ͢Ε͹ɺճ໨ɺճ໨ɺʜͷ໭Γ஋ΛઃఆͰ͖Δ XJMM5ISPX&YDFQUJPO 5ISPXBCMFFYDFQUJPO ྫ֎ FYDFQUJPO Λεϩʔ͢ΔΑ͏ʹ໛฿ XJMM3FUVSO"SHVNFOU JOUBSHVNFOU*OEFY ࢦఆͨ͠Ґஔ BSHVNFOU*OEFY ͷҾ਺Λฦ͢Α͏ʹ໛฿ XJMM3FUVSO$BMMCBDL DBMMBCMFDBMMCBDL ίʔϧόοΫؔ਺ DBMMCBDL ͋Δ͍͸ͦͷ݁ՌΛฦ͢Α͏ʹ໛฿ XJMM3FUVSO4FMG ࣗ෼ࣗ਎Λฦ͢Α͏ʹ໛฿ 'MVFOU*OUFSGBDFΛςετ͢Δࡍʹ༗ޮ XJMM3FUVSO.BQ BSSBZWBMVF.BQ ࣄલʹఆٛͨ͠Ҿ਺ͷϦετʹԠͯ͡ҟͳΔ஋Λฦ͢Α͏໛฿ ྫ<bB` C bD`>Λ഑ྻʹઃఆͨ͠৔߹ɺB CͷҾ਺͕͖ͨ࣌ʹDΛฦ͢ IUUQTEPDTQIQVOJUEFFOUFTUEPVCMFTIUNM 'MVFOU*OUFSGBDFIUUQTNBSUJOGPXMFSDPNCMJLJ'MVFOU*OUFSGBDFIUNM ϞοΫͱελϒͷ࢖͍෼͚
  10. "1*΍ΓͱΓऀ ֎෦αʔϏεʢܾࡁ"1*ʣΛݺͼग़͢੹೚ w ݕূ͍ͨ͜͠ͱ w ຊ౰͸࣮ࡍʹͲ͏ͳΔ͔ΛΈ͍ͨʜ͕ ςετͷͨͼʹୟ͘͜ͱ͸Ͱ͖ͳ͍😩 w ϞοΫ΍ελϒ w

    ϞοΫΛ࢖͏ w ʮϥΠϒϥϦͷ͜ͷϝιου͕Α͹ΕΔʯ΍ ʮҾ਺͕͜ͷΑ͏ʹೖΔʯΛݕূ ϞοΫͱελϒͷ࢖͍෼͚
  11. "1*΍ΓͱΓऀ ֎෦αʔϏεʢܾࡁ"1*ʣΛݺͼग़͢੹೚ w ݕূ͍ͨ͜͠ͱ w ຊ౰͸࣮ࡍʹͲ͏ͳΔ͔ΛΈ͍ͨʜ͕ ςετͷͨͼʹୟ͘͜ͱ͸Ͱ͖ͳ͍😩 w ϞοΫ΍ελϒ w

    ϞοΫΛ࢖͏ w ʮϥΠϒϥϦͷ͜ͷϝιου͕Α͹ΕΔʯ΍ ʮҾ਺͕͜ͷΑ͏ʹೖΔʯΛݕূ ϞοΫͱελϒͷ࢖͍෼͚
  12. "1*΍ΓͱΓऀ ֎෦αʔϏεʢܾࡁ"1*ʣΛݺͼग़͢੹೚ w ݕূ͍ͨ͜͠ͱ w ຊ౰͸࣮ࡍʹͲ͏ͳΔ͔ΛΈ͍ͨʜ͕ ςετͷͨͼʹୟ͘͜ͱ͸Ͱ͖ͳ͍😩 w ϞοΫ΍ελϒ w

    ϞοΫΛ࢖͏ w ʮϥΠϒϥϦͷ͜ͷϝιου͕Α͹ΕΔʯ΍ ʮҾ਺͕͜ͷΑ͏ʹೖΔʯΛݕূ ϞοΫͱελϒͷ࢖͍෼͚
  13. ϞοΫͱελϒͷ࢖͍෼͚ %#΍ΓͱΓऀ σʔλϕʔεͷ$36%ૢ࡞Λ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ਖ਼͘͠$36%ૢ࡞Ͱ͖͍ͯΔ͔ w ϞοΫ΍ελϒ w

    %#͸֎෦௨৴ʹ஋͢Δ͕ʜ࢖Θͳ͍ w ਅ࣮͕ਖ਼͘͠ฦΔ͜ͱΛݕূ͢Δʂʂʂ w ΠϯϝϞϦσʔλϕʔεʹͯ͠ಈ࡞Λ଎ͤ͘͞Δ ͳͲͷ౒ྗ͸Ͱ͖Δ
  14. ϞοΫͱελϒͷ࢖͍෼͚ %#΍ΓͱΓऀ σʔλϕʔεͷ$36%ૢ࡞Λ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ਖ਼͘͠$36%ૢ࡞Ͱ͖͍ͯΔ͔ w ϞοΫ΍ελϒ w

    %#͸֎෦௨৴ʹ஋͢Δ͕ʜ࢖Θͳ͍ w ਅ࣮͕ਖ਼͘͠ฦΔ͜ͱΛݕূ͢Δʂʂʂ w ΠϯϝϞϦσʔλϕʔεʹͯ͠ಈ࡞Λ଎ͤ͘͞Δ ͳͲͷ౒ྗ͸Ͱ͖Δ
  15. ϞοΫͱελϒͷ࢖͍෼͚ %#΍ΓͱΓऀ σʔλϕʔεͷ$36%ૢ࡞Λ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ਖ਼͘͠$36%ૢ࡞Ͱ͖͍ͯΔ͔ w ϞοΫ΍ελϒ w

    ࢖Θͳ͍ʢ%#͸֎෦௨৴ʹ஋͢Δ͕ʣ w ਅ࣮͕ਖ਼͘͠ฦΔ͜ͱΛݕূ͍ͨ͠ w ΠϯϝϞϦσʔλϕʔεʹͯ͠ಈ࡞Λ଎ͤ͘͞Δ ͳͲͷ౒ྗ͸Ͱ͖Δ
  16. ϞοΫͱελϒͷ࢖͍෼͚ Ϣʔεέʔε υϝΠϯͷྲྀΕΛ࢘Δ੹೚ w ݕূ͍ͨ͜͠ͱ w υϝΠϯͷྲྀΕ͕࣮ݱͰ͖͍ͯΔ͔ w ϞοΫ΍ελϒ w

    ॏ͍ॲཧʹϞοΫɾελϒΛ࢖͏ ʢଞͷ୯ମςετͰ୲อ͞Ε͍ͯΔલఏʣ w ʮݕূ͍ͨ͠ʯˠϞοΫ ʮͦ͏Ͱͳ͍ʯˠελϒ
  17. ϞοΫͱελϒͷ࢖͍෼͚ Ϣʔεέʔε υϝΠϯͷྲྀΕΛ࢘Δ੹೚ w ݕূ͍ͨ͜͠ͱ w υϝΠϯͷྲྀΕ͕࣮ݱͰ͖͍ͯΔ͔ w ϞοΫ΍ελϒ w

    ॏ͍ॲཧʹϞοΫɾελϒΛ࢖͏ ʢଞͷ୯ମςετͰ୲อ͞Ε͍ͯΔલఏʣ w ʮݕূ͍ͨ͠ʯˠϞοΫ ʮͦ͏Ͱͳ͍ʯˠελϒ
  18. ϞοΫͱελϒͷ࢖͍෼͚ Ϣʔεέʔε υϝΠϯͷྲྀΕΛ࢘Δ੹೚ w ݕূ͍ͨ͜͠ͱ w υϝΠϯͷྲྀΕ͕࣮ݱͰ͖͍ͯΔ͔ w ϞοΫ΍ελϒ w

    ॏ͍ॲཧʹϞοΫɾελϒΛ࢖͏ ʢଞͷ୯ମςετͰ୲อ͞Ε͍ͯΔલఏʣ w ʮݕূ͍ͨ͠ʯˠϞοΫ ʮͦ͏Ͱͳ͍ʯˠελϒ
  19. ϞοΫͱελϒͷ࢖͍෼͚ Ϣʔεέʔε υϝΠϯͷྲྀΕΛ࢘Δ੹೚ w ϞοΫʹ͢Δྫ w ෭࡞༻͕͋ΔΑ͏ͳॲཧ w ͨͱ͑͹σʔλϕʔεอଘॲཧ w

    ͏·͘ॲཧ͕ྲྀΕ͍ͯΔ͔ ˠͦͷίʔυ·Ͱ౸ୡ͔ͨ͠ w ա৒ݕূʹͳΒͳ͍Α͏ؾΛ෇͚Δ w ݕূ͍ͨ͠ͷ͸࣮૷ͷৄࡉͰ͸ͳ͍
  20. ϞοΫͱελϒͷ࢖͍෼͚ Ϣʔεέʔε υϝΠϯͷྲྀΕΛ࢘Δ੹೚ w ελϒʹ͢Δྫ w ෭࡞༻͕ͳ͍ॲཧ w ΘΓͱͲ͏Ͱ΋͍͍ॲཧ w

    ॲཧͷྲྀΕΛΈΔ্Ͱॏཁ͡Όͳ͘ɺ ಈ͍͍ͯͯ͘ΕΕ͹͍͍ w ʮݕূ͠ͳͯ͘ྑ͍ͱ͖ʯ͸ελϒʹ͢Δ w ͨͱ͑͹σʔλϕʔεऔಘॲཧ
  21. ϞοΫͱελϒͷ࢖͍෼͚ ίϯτϩʔϥʔ ֎քͱͷ΍ΓͱΓΛ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ϦΫΤετΛຊ൪͞ͳ͕Βʹࡹ͚Δ͔ w ϞοΫ΍ελϒ w

    Ͳ͏ͯ͠΋ඞཁͳ෦෼ͷΈϞοΫ΍ελϒΛ࢖͏ w ϝϞ w ʮ΋͸΍ͦΕ͸݁߹ςετͳͷͰ͸ʁʯ ˠ:FT1)16OJUͰॻ͍͍ͯ·͢
  22. ϞοΫͱελϒͷ࢖͍෼͚ ίϯτϩʔϥʔ ֎քͱͷ΍ΓͱΓΛ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ϦΫΤετΛຊ൪͞ͳ͕Βʹࡹ͚Δ͔ w ϞοΫ΍ελϒ w

    Ͳ͏ͯ͠΋ඞཁͳ෦෼ͷΈϞοΫ΍ελϒΛ࢖͏ w ϝϞ w ʮ΋͸΍ͦΕ͸݁߹ςετͳͷͰ͸ʁʯ ˠ:FT1)16OJUͰॻ͍͍ͯ·͢
  23. ϞοΫͱελϒͷ࢖͍෼͚ ίϯτϩʔϥʔ ֎քͱͷ΍ΓͱΓΛ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ϦΫΤετΛຊ൪͞ͳ͕Βʹࡹ͚Δ͔ w ϞοΫ΍ελϒ w

    Ͳ͏ͯ͠΋ඞཁͳ෦෼ͷΈϞοΫ΍ελϒΛ࢖͏ w ϝϞ w ʮ΋͸΍ͦΕ͸݁߹ςετͳͷͰ͸ʁʯ ˠ:FT1)16OJUͰॻ͍͍ͯ·͢
  24. ϞοΫͱελϒͷ࢖͍෼͚ ίϯτϩʔϥʔ ֎քͱͷ΍ΓͱΓΛ͢Δ੹೚ w ݕূ͍ͨ͜͠ͱ w ϦΫΤετΛຊ൪͞ͳ͕Βʹࡹ͚Δ͔ w ϞοΫ΍ελϒ w

    Ͳ͏ͯ͠΋ඞཁͳ෦෼ͷΈϞοΫ΍ελϒΛ࢖͏ w ϝϞ w ʮ΋͸΍ͦΕ͸݁߹ςετͳͷͰ͸ʁʯ ˠ:FT1)16OJUͰॻ͍͍ͯ·͢
  25. ݕূͱͯ͠ ϞοΫΛ࢖͏ ϞοΫͱελϒͷ࢖͍෼͚ ϞοΫɾελϒ %#΍ΓͱΓऀ ࢖Θͳ͍ "1*΍ΓͱΓऀ ϞοΫΛ࢖͏ υϝΠϯϧʔϧ ࢖Θͳ͍

    Ϣʔεέʔε ϞοΫ΍ελϒΛ࢖͏ ίϯτϩʔϥʔ ϞοΫ΍ελϒΛ࢖͏ ʢͦͯ͠΋͸΍݁߹ςετΛॻ͘ʣ
  26. ೱ୶දݱͱͯ͠ ςετμϒϧΛ࢖͏ ݕূͱͯ͠ ϞοΫΛ࢖͏ ϞοΫͱελϒͷ࢖͍෼͚ ϞοΫɾελϒ %#΍ΓͱΓऀ ࢖Θͳ͍ "1*΍ΓͱΓऀ ϞοΫΛ࢖͏

    υϝΠϯϧʔϧ ࢖Θͳ͍ Ϣʔεέʔε ϞοΫ΍ελϒΛ࢖͏ ίϯτϩʔϥʔ ϞοΫ΍ελϒΛ࢖͏ ʢͦͯ͠΋͸΍݁߹ςετΛॻ͘ʣ
  27. ೱ୶දݱͱͯ͠ ςετμϒϧΛ࢖͏ ݕূͱͯ͠ ϞοΫΛ࢖͏ ϞοΫͱελϒͷ࢖͍෼͚ ϞοΫɾελϒ %#΍ΓͱΓऀ ࢖Θͳ͍ "1*΍ΓͱΓऀ ϞοΫΛ࢖͏

    υϝΠϯϧʔϧ ࢖Θͳ͍ Ϣʔεέʔε ϞοΫ΍ελϒΛ࢖͏ ίϯτϩʔϥʔ ϞοΫ΍ελϒΛ࢖͏ ʢͦͯ͠΋͸΍݁߹ςετΛॻ͘ʣ ࿬໾͚ͩͲݕূ͍ͨ͠ˠϞοΫ ࿬໾ˠελϒ
  28. ελϒΛ࢖͏΂͖৔໘ͰϞοΫΛ࢖͍ͬͯΔ  w ՝୊ w l໛฿z͔͍ͯ͠͠ͳ͍ͷʹ ϞοΫΛ࢖͍ͬͯΔ w ରॲ๏ w

    ελϒʹ͢Δ w lݕূz͸͠ͳ͍ΑɺͷҙਤΛ ύοͱ఻͑Δ💨 ·͕ͪͬͨ࢖͍ํ
  29. ελϒΛ࢖͏΂͖৔໘ͰϞοΫΛ࢖͍ͬͯΔ  w ՝୊ w l໛฿z͔͍ͯ͠͠ͳ͍ͷʹ ϞοΫΛ࢖͍ͬͯΔ w ରॲ๏ w

    ελϒʹ͢Δ w lݕূz͸͠ͳ͍ΑɺͷҙਤΛ ύοͱ఻͑Δ💨 ·͕ͪͬͨ࢖͍ํ
  30. ϞοΫΛ࢖͏΂͖৔໘ͰελϒΛ࢖͍ͬͯΔ  w ՝୊ w l໛฿zͱzݕূzͳΒ͹ϞοΫ͕ͩɺ ελϒΛ࢖͍ͬͯΔ w 1)16OJU·Ͱ͸࢖͑ͪΌ͏😨 w

    ରॲ๏ w ϞοΫʹ͢Δ w 1)16OJUͰ͸ʮඇਪ঑ʯ w 1)16OJU͔Β͸࢖͑ͳ͍ ·͕ͪͬͨ࢖͍ํ
  31. ϞοΫΛ࢖͏΂͖৔໘ͰελϒΛ࢖͍ͬͯΔ  w ՝୊ w l໛฿zͱzݕূzͳΒ͹ϞοΫ͕ͩɺ ελϒΛ࢖͍ͬͯΔ w 1)16OJU·Ͱ͸࢖͑ͪΌ͏😨 w

    ରॲ๏ w ϞοΫʹ͢Δ w 1)16OJUͰ͸ʮඇਪ঑ʯ w 1)16OJU͔Β͸࢖͑ͳ͍ ·͕ͪͬͨ࢖͍ํ
  32. ͢΂ͯʮχηϞϊʯͰɺԿ΋͍ͯ͠ͳ͍  w ՝୊ w શͯͷґଘΛελϒʹ͍ͯ͠Δ w ʢશͯͷґଘΛϞοΫʹ͍ͯ͠Δʣ w ΧόϨοδΛ͋͛Δ͚ͩͷԿ͔

    ΄΅Կ΋ݕূͰ͖͍ͯͳ͍ w ରॲ๏ w ϞοΫɾελϒͷ༻๏ɾ༰ྔ͸कΔ ʢνʔϜͰഽײΛ߹ΘͤΔʣ ·͕ͪͬͨ࢖͍ํ
  33. ͢΂ͯʮχηϞϊʯͰɺԿ΋͍ͯ͠ͳ͍  w ՝୊ w શͯͷґଘΛελϒʹ͍ͯ͠Δ w ʢશͯͷґଘΛϞοΫʹ͍ͯ͠Δʣ w ΧόϨοδΛ͋͛Δ͚ͩͷԿ͔

    ΄΅Կ΋ݕূͰ͖͍ͯͳ͍ w ରॲ๏ w ϞοΫɾελϒͷ༻๏ɾ༰ྔ͸कΔ ʢνʔϜͰഽײΛ߹ΘͤΔʣ ·͕ͪͬͨ࢖͍ํ
  34. JGจͰ޼ΈʹϩδοΫΛॻ͍͍ͯΔ  w ՝୊ w ςετίʔυʹJGจ͕ೖ͍ͬͯΔ w ͦͷJG͸୭͕νΣοΫ͢Δʁ w ରॲ๏

    w ϞοΫɾελϒͷจ຺ʹؔΘΒͣɺ ςετͰ͸JGจΛ࢖Θͳ͍ w ςετέʔεΛ෼͚Δ ·͕ͪͬͨ࢖͍ํ
  35. JGจͰ޼ΈʹϩδοΫΛॻ͍͍ͯΔ  w ՝୊ w ςετίʔυʹJGจ͕ೖ͍ͬͯΔ w ͦͷJG͸୭͕νΣοΫ͢Δʁ w ରॲ๏

    w ϞοΫɾελϒͷจ຺ʹؔΘΒͣɺ ςετͰ͸JGจΛ࢖Θͳ͍ w ςετέʔεΛ෼͚Δ ·͕ͪͬͨ࢖͍ํ