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

実践テスト駆動開発 in iOS/TDD_in_iOS

実践テスト駆動開発 in iOS/TDD_in_iOS

俺コン Vol.1 / Day. 2

Avatar for Yusuke Hosonuma

Yusuke Hosonuma

October 03, 2017

More Decks by Yusuke Hosonuma

Other Decks in Technology

Transcript

  1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Զίϯ Vol.1 Day.

    2 2017/10/03 (Tue) 
 ࡉপ ༞հ@DeNA ࣮ફςετۦಈ։ൃJOJ04 1
  2. ˙:VTVLF)PTPOVNBʢ!UPCJʣ • ॴଐ ⁃ %F/"48&5άϧʔϓςετج൫νʔϜ • 'BWPSJUF ⁃  •

    ۙگ ⁃ J04%$Ͱ-5ొஃ ⁃ 'BTUMBOFʹॳ$POUSJCVUJPO ⁃ 5XJUUFSΞΠίϯΛม͑ͨ ⁃ 4UBDL0WFSqPXͰॳճ౴ ⁃ ԶίϯEBZͰॳ࢘ձ ࣗݾ঺հ Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2
  3. ΞδΣϯμ 5 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    5%%ͷ෮श • J04ΞϓϦ։ൃʹ͓͚Δ • ࣗಈςετͷ՝୊ • 5%% • ϥΠϒίʔσΟϯά • ·ͱΊ
  4. ςετۦಈ։ൃʢTDDʣͱ͸ 7 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    ςετΛઌʹॻ͘ελΠϧͷʮ։ൃख๏ʯ • 3&%ˠ(SFFOˠ3FGBDUPS • ,FOU#FDL͕ఏএ
  5. ςετۦಈ։ൃʢTDDʣͱ͸ 8 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. RED

    Green Refactor ςετΛॻ͘ ࠷௿ݶͷ࣮૷ ॏෳΛऔΓআ͘
  6. TDD ͷϝϦοτ 10 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.

    • ઌʹςετΛॻ͘͜ͱͰΰʔϧ͕໌֬ʹ • ςετ͠΍͍͢ઃܭʹͳΔ • Ұ౓ʹҰͭͷ͜ͱ͚ͩ΍Δ͜ͱͰूத • ෆ҆ΛݮΒͤΔ
  7. TDD ͷσϝϦοτ 11 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.

    • εΩϧ͕ඞཁ • ա৒ͳઃܭʹͳΔ͜ͱ΋ • 5%%JT%FBE  • ద༻ͮ͠Β͍ྖҬ΋ • ηΩϡϦςΟιϑτ
  8. ςετࣗಈԽͷ՝୊ 29 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    εΩϧ͕ඞཁ • ࣮૷ίετ • ϝϯςφϯείετ • ࣮ߦʹ͕͔͔࣌ؒΔ
  9. ςετࣗಈԽͷ՝୊ 30 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    εΩϧ͕ඞཁ • ࣮૷ίετ • ϝϯςφϯείετ • ࣮ߦʹ͕͔͔࣌ؒΔ ͜Ε͕ຊ౰ͷ՝୊ʁ
  10. τϨʔυΦϑͷݟۃΊ 33 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    Ͳ͜·ͰࣗಈςετΛద༻͢Δͷ͔ʁ • ΧόϨοδ • ୭͕ϝϯςφϯεΛ͢Δʁ • ͭ·Δͱ͜ΖɺͲ͜ʹՁ஋Λஔ͖͍ͨʁ
  11. τϨʔυΦϑͷݟۃΊ 34 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    Ͳ͜·ͰࣗಈςετΛద༻͢Δͷ͔ʁ • ΧόϨοδ • ୭͕ϝϯςφϯεΛ͢Δʁ • ͭ·Δͱ͜ΖɺͲ͜ʹՁ஋Λஔ͖͍ͨʁ ͔ͬ͠Γߟ͑ͳ͍ͱɺςετΛ࡞Δ͜ͱ ͕໨తʹͳΓɺ࠷ޙ͸ࣺͯΒΕΔ
  12. खڧ͍࣭໰ 36 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    ԿͷͨΊʹςετΛࣗಈԽ͢Δͷʁ • νʔϜશһ͕ೲಘ͍ͯ͠Δʁ • ଞͷ1+ͷ੒ޭࣄྫΛͦͷ··ద༻ͯ͠ͳ͍ʁ • Ձ஋Λੜ·ͳ͍ςετʹ߆ͬͯͳ͍ʁ • ͦ΋ͦ΋ࣗಈԽ͢Δඞཁ͋Δͷʁ
  13. खڧ͍࣭໰ 37 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    ԿͷͨΊʹςετΛࣗಈԽ͢Δͷʁ • νʔϜશһ͕ೲಘ͍ͯ͠Δʁ • ଞͷ1+ͷ੒ޭࣄྫΛͦͷ··ద༻ͯ͠ͳ͍ʁ • Ձ஋Λੜ·ͳ͍ςετʹ߆ͬͯͳ͍ʁ • ͦ΋ͦ΋ࣗಈԽ͢Δඞཁ͋Δͷʁ ςετٕ๏͸੔͖͕ͬͯͨɺࣗ෼͕ͨͪ ඞཁͳ΋ͷΛऔࣺબ୒͢Δ͜ͱ͕ॏཁ
  14. ͍ͭςετࣗಈԽʹऔΓ૊Ή͔ʁ 39 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ϏδωεతʹՁ஋ΛੜΉͱݟࠐΊͨ࣌

    ࢢ৔ͰՁ஋ΛੜΉ͔Θ͔Βͳ͍ஈ֊Ͱɺ ςετΛࣗಈԽ͢ΔՁ஋͸ബ͍ ϓϩάϥϚ͕࣮૷࣌ʹෆ҆Λײ͡Δ෦෼ ωΨςΟϒͳײ৘͸ɺ ଟ͘ͷ࡞ۀʹϚΠφεͳӨڹΛ༩͕͑ͪ
  15. iOSΞϓϦ։ൃʹ͓͚ΔTDD 41 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    6*ςετ ɹ⭕ࣗ৴Λײͯ͡ɺ಺෦ઃܭͷվળ͕͠΍͘͢ ɹ❌࣮૷ʹ͸͕͔͔࣌ؒΔ • ୯ମςετ ɹ⭕ςετ͠΍͍͢ઃܭʹͳΔ ɹ⭕҆શωοτ͕ுΓ८Β͞ΕΔ
  16. ϥΠϒίʔσΟϯάΛऴ͑ͯ 45 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    Ұͭͷ͜ͱʹूதͰָ͖͍ͯ͠ • Ͱ΋γϛϡϨʔλىಈʹ͸͔͔࣌ؒΔͳ • ϦϑΝΫλϦϯά͸΍͸Γྑ͍श׳ͩ • ϝοηʔδ͕มΘͬͨΒमਖ਼͠ͳ͍͔ɾɾɾ • ॏཁͳέʔε͸ྑ͍͚Ͳ͜ͷςετ͸ա৒͔ͳ • ୯ମϨϕϧͩͬͨΒ5%%Ͱྑ͍͔΋ʁ
  17. ϥΠϒίʔσΟϯάΛऴ͑ͯ 46 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    Ұͭͷ͜ͱʹूதͰָ͖͍ͯ͠ • Ͱ΋γϛϡϨʔλىಈʹ͸͔͔࣌ؒΔͳ • ϦϑΝΫλϦϯά͸΍͸Γྑ͍श׳ͩ • ϝοηʔδ͕มΘͬͨΒमਖ਼͠ͳ͍͔ɾɾɾ • ॏཁͳέʔε͸ྑ͍͚Ͳ͜ͷςετ͸ա৒͔ͳ • ୯ମϨϕϧͩͬͨΒ5%%Ͱྑ͍͔΋ʁ ײ৘ɾؾ͖ͮΛେ੾ʹ͠Α͏ʂ
  18. ·ͱΊ 48 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •

    େ੾ͳͷ͸Ձ஋ͷݟۃΊ • ܧଓతʹτϨʔυΦϑΛݟۃΊ͍ͯ͘ • ϝϯόʔͷ੠Λௌ͘ • ςετͷ੠Λௌ͘ • J04Ͱ΋5%%͸׆༻Ͱ͖Δ • ײ৘ͷϑΟʔυόοΫΛେ੾ʹ͠Α͏ • ۜͷ஄ؙ͸ͳ͍