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

RSpec、あなたならどう書く?

 RSpec、あなたならどう書く?

Saiid Al-Halawi

June 26, 2019
Tweet

More Decks by Saiid Al-Halawi

Other Decks in Programming

Transcript

  1. 34QFD
    ͋ͳͨͳΒͲ͏ॻ͘ʁ
    HPUBOEBSC

    View Slide

  2. ͓લ୭Αʁ

    View Slide

  3. ࣗݾ঺հ
    wੁ໺޾ॿ
    w όοΫΤϯυΤϯδχΞ

    3BJMTྺ೥͘Β͍

    w -JOD`XFMMͱ͍͏ҩྍελʔτΞοϓͰ
    3BJMT৮ͬͯ·͢ɻ
    w ݸਓͰ͸࠷ۙ"QPMMP5ZQFTDSJQUͳͲ
    w 5XJUUFS!TBJJE@LL
    w (JUIVCTBJJEBMIBMBXJ
    w OPUFIUUQTOPUFNVTBJJE

    View Slide

  4. ͓࢓ࣄ
    https://jp.techcrunch.com/2019/05/27/linc-well-fundraising/

    View Slide

  5. ͔͜͜Βຊ୊

    View Slide

  6. w 3TQFDͰςετΛॻ͍͍ͯͯʮಈ͚͘Ͳɺຊ౰ʹ͜ΕͰ͍
    ͍ΜͩΖ͏͔ɾɾɾʯͱɺࢥ͏͜ͱ͋Γ·ͤΜ͔ʁ
    w ϨϏϡʔ΋$*΋ύε͢Δ͠ɺ໰୊͕͋Δ༁Ͱ͸ͳ͍͚
    Ͳɾɾɾ
    w Ͳ͏ʹ΋ͬ͘͠Γ͜ͳ͍͕͚࣌ͬ͜͏͋Δ

    ଞͷਓ͕Ͳ͏ॻ͍ͯΔͷ͔ؾʹͳΔ
    w ৭ʑͳྲّྀ΍ߟ͑ํΛ஌Γ͍ͨ
    ςετͷϞϠϞϠ

    View Slide

  7. ͦ͜ͰɺΞϯέʔτΛ
    ͱΓ͍ͨͱࢥ͍·͢

    View Slide

  8. wʮ͍ͭ΋͜͏ॻ͍ͯΔʯ
    wʮن໛΍νʔϜʹΑΔʯ
    wʮͬͪ͜ͷํ͕޷͖ʯ
    wʮ͜ΕҎ֎͋Γ͑ͳ͍ʂʯ
    wɾɾɾFUD
    ৭ʑ͋Δͱࢥ͍·͕͢ɺ

    ࢥ͍ࢥ͍ͷ൑அج४Ͱ͝ճ౴͍ͩ͘͞ɻ

    View Slide

  9. ୊ͯ͠

    View Slide

  10. 34QFDɺ͋ͳͨͳΒͲ͏ॻ͘ʁ

    View Slide

  11. ୈ̍໰

    View Slide

  12. 3FRVFTU4QFD͸
    "DUJPO͝ͱʹ෼͚Δ $POUSPMMFS͝ͱʹ෼͚Δ

    View Slide

  13. ୈ໰

    View Slide

  14. 4ZTUFN4QFD͸
    ॏ͍ͷͰେࣄͳͱ͚ͩ͜ ͳΔ΂͘ଟ͘ͷέʔεॻ͖͍ͨ

    View Slide

  15. ୈ໰

    View Slide

  16. 4IBSFE&YBNQMFT͸
    ΍Γա͗ΔͱٯʹಡΈʹ͍͘ͷͰ

    ͋·Γ࢖Θͳ͍
    %3:%3:ੵۃతʹ࢖͏

    View Slide

  17. ୈ໰

    View Slide

  18. CFGPSFBGUFS BMM
    ͸
    ศར͔ͩΒ࢖͏࣌΋͋Δ 3VCPDPQͰېࢭ
    https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/BeforeAfterAll

    View Slide

  19. ୈ໰

    View Slide

  20. 34QFD/FTUFE(SPVQT͸
    ߏ଄Խ͍ͤͨ͞ͷͰڐՄ 3VCPDPQͰېࢭ

    View Slide

  21. ୈ໰

    View Slide

  22. ςετσʔλͷఆٛ͸
    ݺͼग़͠ݩͰͭ͘Δ ݺͼग़͠ઌͰ͓ͭͬͯ͘͘

    View Slide

  23. ୈ໰

    View Slide

  24. ࣌ؒ͸
    ࢭΊΔ ͭ͘Δ

    View Slide

  25. ୈ໰

    View Slide

  26. ςετͷઆ໌͸
    ೔ຊޠ ӳޠ

    View Slide

  27. ୈ໰

    View Slide

  28. ෳࡶͳࣄલσʔλ͸
    CFGPSFͰ·ͱΊͯ೿ MFUͰ૊Έ্͛Δ೿

    View Slide

  29. ୈ໰

    View Slide

  30. JUείʔϓ಺͸
    ઈରʹԚͨ͘͠ͳ͍ʂ ͋Δఔ౓ॊೈʹ

    View Slide

  31. Ҏ্ͰऴΘΓͰ͢

    View Slide

  32. w 3FRVFTU4QFD͸ɾɾɾ"DUJPO͝ͱ
    w 4ZTUFN4QFD͸ɾɾɾେࣄͳͱ͚ͩ͜
    w 4IBSFE&YBNQMFT͸ɾɾɾ͋·Γ࢖Θͳ͍
    w CFGPSFBGUFS BMM
    ͸ɾɾɾېࢭ
    w /FTUFE(SPVQTɾɾɾ࢖͏
    w ςετσʔλͷఆٛ͸ɾɾɾݺͼग़͠ݩͰͭ͘Δ
    w ࣌ؒ͸ɾɾɾͭ͘Δ
    w ςετͷઆ໌͸ɾɾɾӳޠ എ৳ͼ

    w ෳࡶͳࣄલσʔλ͸ɾɾɾMFUͰ૊Έ্͛Δ
    w JUείʔϓ಺͸ɾɾɾઈରԚͨ͘͠ͳ͍ʂ
    ࢲͷ৔߹

    View Slide

  33. ճ౴Λݟ͍ͯΔͱ

    ͳΜͱͳ͘ਓͱͳΓ͕
    ݟ͖͑ͯ·͢Ͷ

    ‘’ Tell me how you write RSpec tests,
    I'll tell you who you are. ’’

    View Slide

  34. օ͞Μ͸

    Ͳ͏ͩͬͨͰ͠ΐ͏͔ʁ

    View Slide

  35. w 3FRVFTU4QFD͸ɾɾɾ$POUSPMMFS͝ͱ
    w 4ZTUFN4QFD͸ɾɾɾେࣄͳͱ͚ͩ͜
    w 4IBSFE&YBNQMFT͸ɾɾɾੵۃతʹ࢖͏
    w CFGPSFBGUFS BMM
    ͸ɾɾɾ
    w /FTUFE(SPVQTɾɾɾ࢖͏
    w ςετσʔλͷఆٛ͸ɾɾɾݺͼग़͠ઌ 'BDUPSZ
    Ͱͭ͘
    Δ
    w ࣌ؒ͸ɾɾɾͭ͘Δ
    w ςετͷઆ໌͸ɾɾɾ೔ຊޠ
    w ෳࡶͳࣄલσʔλ͸ɾɾɾMFUͰ૊Έ্͛Δ
    w JUείʔϓ಺͸ɾɾɾ͋Δఔ౓ॊೈʹ
    ౰೔ͷΞδϟΠϧूܭ݁Ռ ໨ࢹ

    ΍΍༏੎
    ΍΍༏੎
    ΍΍ͬͪ͜
    ༏੎
    ΍΍༏੎
    ༏੎
    ΍΍༏੎
    ѹ౗త༏੎
    ΍΍༏੎
    উഊ͔ͭͣ έʔεʹΑΔ

    View Slide

  36. ଞʹ΋ʮ͜ͷ୒͸ʁʯ
    ͱ͍͏΋ͷ͕͋Ε͹

    ੋඇ஌Γ͍ͨͰ͢

    View Slide

  37. 8&"3&)*3*/(తͳ
    https://www.wantedly.com/projects/324351

    View Slide

  38. ͋Γ͕ͱ͏͍͟͝·ͨ͠
    N @@
    N

    View Slide