$30 off During Our Annual Pro Sale. View Details »

テストなしでそれ動いてるの?って言われてテストはじめました

 テストなしでそれ動いてるの?って言われてテストはじめました

MasayaYoshino

March 05, 2019
Tweet

More Decks by MasayaYoshino

Other Decks in Programming

Transcript

  1. v
    ςετͳ͠ͰͦΕຊ౰ʹಈ͍
    ͯΔͷʁͬͯݴΘΕͯςετ
    ͸͡Ί·ͨ͠ɻ
    2019/03/05

    Frontend Test Night - Fukuoka #1

    View Slide

  2. v
    ࣗݾ঺հ

    View Slide

  3. v
    ࣗݾ঺հ
    גࣜձࣾFusic ΤϯδχΞ
    ٢໺ խ໹
    (Yoshino Masaya)
    @ayasamind
    גࣜձࣾFusic ΤϯδχΞ
    ࣗݾ঺հ

    View Slide

  4. v

    View Slide

  5. v
    ςετͳ͠ͰͦΕຊ౰ʹಈ͍
    ͯΔͷʁͬͯݴΘΕͯςετ
    ͸͡Ί·ͨ͠ɻ
    2019/03/05

    Frontend Test Night - Fukuoka #1

    View Slide

  6. v
    ɾ͸͡Ίʹ
    ɾ΅͕͔͍͍ͨ͘͞͠ΐͷςετ
    ɾςετΛ͸͡Ίͯ͜·ͬͨ͜ͱ
    ɾςετΛ͸͡ΊͯΑ͔ͬͨ͜ͱ
    ɾ͓·͚
    ໨࣍

    View Slide

  7. v
    ͸͡Ίʹ

    View Slide

  8. v
    LTͯ͠·͕͢

    View Slide

  9. v
    ςετྺ: 1೥ະຬͰ͢

    View Slide

  10. v
    ͨͩɺ

    View Slide

  11. v
    ࠓ೔ͷςʔϚ
    ʮࢲ͕ςετʹऔΓ૊Έ͸͡Ί͖͔͚ͨͬʯ

    View Slide

  12. v
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  13. v
    ࠷ॳʹॻ͍ͨςετ֮͑ͯ·͔͢ʁ
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  14. v
    ϑϩϯτΤϯυ
    or
    όοΫΤϯυ
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  15. v
    ୯ମςετ
    ෳ߹ςετ
    ػೳςετ
    etc..
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  16. v
    ٢໺ͷ৔߹
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  17. v
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  18. v
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ
    EthereumͷίϯτϥΫτςετ
    ΦʔφʔҎ֎ͷΞΧ΢ϯτ͸ΞΫηεͰ͖ͳ͍͔͔֬ΊΔςετ

    View Slide

  19. v
    ͳͥॻ͍ͨͷ͔
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  20. v
    ɾTruffleϑϨʔϜϫʔΫͷඪ४૷උ(Mocha, Chai)
    ɾνϡʔτϦΞϧதʹςετ͕Ͱͯ͘Δɻ
    ɾͦΕ͙Β͍Ethereumʹ͓͍ͯςετ͕ॏཁɻ
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ

    View Slide

  21. v
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ
    EthereumͷςετΛॻ͘ཧ༝
    ɾ͓͕ۚ௚઀ؔΘΔɻ
    ɾൃੜͨ͠όάʹΑΓɺݴޠ
    ɹͦͷ΋ͷͷ࢓༷͕มΘͬͨ͜ͱ΋ɻ

    View Slide

  22. v
    ΅͕͔͍͍ͨ͘͞͠ΐͷςετ
    EthereumͷίϯτϥΫτςετ

    phpͷϢχοτςετ

    VueͷϢχοτςετ

    CypressΛ༻͍ͨE2Eςετ

    View Slide

  23. v
    ςετΛ͸͡Ίͯ͜·ͬͨ͜ͱ

    View Slide

  24. v
    ςετΛ͸͡Ίͯ͜·ͬͨ͜ͱ
    ɾςετέʔεߟ͑ͯͨΒɺ࣌ؒ͘͢͝ܦͬͯͨɻ
    ɾςετίʔυॻ࣌ؒ͘ͷํ͕௕͍ɻ
    ɾ࣮ߦ؀ڥ࡞Δͷ͕ҙ֎ͱେมɻ(CypressࣗಈԽͱ͔)
    ɾCIͭ·ͬͯͯ։ൃεϐʔυ͕஗͘ͳΔɻ
    etc..

    View Slide

  25. v
    ςετΛ͸͡ΊͯΑ͔ͬͨ͜ͱ

    View Slide

  26. v
    ςετΛ͸͡ΊͯΑ͔ͬͨ͜ͱ
    ɾ૝ఆ͍ͯ͠ͳ͔ͬͨྫ֎ΛςετίʔυΛॻ͘ࡍʹݟ
    ͚ͭΔ͜ͱ͕Ͱ͖ͨɻ(Update࣌ͷUniqueόϦσʔγϣ
    ϯɺ࡟আ࣌ͷ࿦ཧ࡟আͳͲ)
    →ςετΛಈ͔͢͜ͱ΋େࣄ͚ͩͲɺͦ΋ͦ΋ॻ͘͜ͱ
    ʹ͔ͳΓͷҙຯ͕͋Δͳͱײͨ͡ɻ
    ɾσάϨͷ৺഑͕ݮͬͨ͜ͱɻ
    ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹetc..

    View Slide

  27. v
    ͓·͚

    View Slide

  28. v
    ࠷ۙςετΛͯͯ͠ࠔ͍ͬͯΔ͜ͱ
    ͓·͚

    View Slide

  29. v
    CI٧·Γ
    ͓·͚

    View Slide

  30. v
    CI٧·Γ
    ͓·͚

    View Slide

  31. v
    Pushͨ͠ͷʹɺͳ͔ͳ͔ςετ࢝
    ·Βͳ͍͔ΒɺϨϏϡʔґཔ
    Ͱ͖ͳ͍ɺɺɺ
    ͓·͚
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ
    ΠϥΠϥ

    View Slide

  32. v
    ղফͰ͖ͳ͍͔ͳʔ
    ͓·͚

    View Slide

  33. v
    ͓·͚
    Github Actions!!!

    View Slide

  34. v
    ͓·͚
    Github Actionsͱ͸
    ɾPush΍issue௥ՃͳͲͷΠϕϯτΛτϦΨʔʹɹ
    ɹactionΛ࣮ߦͯ͘͠ΕΔɻ
    ɾڈ೥ൃද͞ΕͨػೳͰɺ·ͩβ൛ɻ
    ɾDocker΍npmɺSlackͳͲͷ࿈ܞ͕Ͱ͖Δɻ
    ɾ.github/sample.workflow ϑΝΠϧʹઃఆΛॻ͘ɻ

    View Slide

  35. v
    ͓·͚
    ࢖ͬͯΈ·ͨ͠

    View Slide

  36. v
    ͓·͚
    ϩά

    View Slide

  37. v
    ͓·͚ main.workflow
    testͷத

    View Slide

  38. v
    ͓·͚
    ײ૝
    ɾ࣮ߦதɺԿ΋ݟΕͳ͍ɺɺɺ
    ɾҙ֎ͱૣ͍ʂ
    ɾઃఆ͕ҙ֎ͱ೉͍͠ɺɺɺ
    ɾ݁ہCypressಈ͔ͤͳ͔ͬͨorz

    View Slide

  39. v
    ͓·͚
    Github Actions࢖͑Δਓɺڭ͍͑ͯͩ͘͞

    View Slide

  40. v
    ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ

    View Slide