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

Viewのテストどうしてますか?

 Viewのテストどうしてますか?

Daiki Katayama

April 16, 2019
Tweet

More Decks by Daiki Katayama

Other Decks in Programming

Transcript

  1. ViewͷςετͲ͏ͯ͠·͔͢ʁ
    2019/04/16 iOS Test Night #10
    kariad/͔Γ͋Ͳ(@kariad_uu)
    1

    View Slide

  2. ࣗݾ঺հ
    • kariad / @kariad_uu
    • ยࢁ େथ
    • ΦΠγοΫεɾϥɾେ஍ iOS App Developer
    • / / V / ςετ / ઃܭ / ྉཧ
    2

    View Slide

  3. Viewͷςετ೉͘͠ͳ͍Ͱ͔͢ʁ

    View Slide

  4. ViewҎ֎ͷςετ
    • ϩδοΫ΍ঢ়ଶͷมԽͳͲ
    • جຊతʹUnitςετ͔ͭςετ͠΍͍͢

    View Slide

  5. Viewͷςετ
    • ϨΠΞ΢τɺViewͷ༗ແɺදࣔඇදࣔɺςΩετ, etc.
    • ԿΛςετ͍͔ͨ͠ɺͲ͜·Ͱςετ͍͔ͨ͠ͰͲ͏ςετ
    ͢Δ΂͖͔มΘΔ

    View Slide

  6. • UIςετ
    • Snapshotςετ
    • Presenterͷςετ
    • ViewͷUnitςετ
    Unitςετ

    View Slide

  7. ༗໊ͳΞϨ

    View Slide

  8. Presenterͷςετ
    • Viewͷঢ়ଶɺૢ࡞Λςετ͢Δ
    • Viewʹ͸ϩδοΫ͕ແ͘ɺͨͩViewΛߋ৽͢Δ͚ͩ
    • Viewͷ࣮૷͸ਖ਼͘͠ग़དྷ͍ͯΔͱ͍͏લఏ
    • ࣮ࡍʹViewΛςετ͠ͳ͍ͷͰ؆୯ɺ࣮ߦ΋ૣ͍

    View Slide

  9. •View͸isHidden = falseΛ͢Δ͚ͩ
    •View΁ͷૢ࡞Λςετ͢Δ
    •ViewͷςετΛॏࢹ͠ͳ͍৔߹͸࠷௿ݶ͜ΕͰ΋

    View Slide

  10. ViewͷUnitςετ
    • ؤுͬͯViewΛUnitςετͰςετ͢Δ
    • ViewΛLoadͯ͠ɺViewͷ֊૚νΣοΫͯ͠ɺɺ
    • Viewͷ༗ແɺදࣔඇදࣔ΍ςΩετͳΒςετͰ͖Δ
    • ButtonλοϓͷΠϕϯτ΋ςετͰ͖Δ

    View Slide

  11. • UIControlͰλοϓͰ͖ΔViewΛ؆୯ʹ࡞੒
    • addTarget(_:action:for:)ͰΠϕϯτ௥Ճ
    • sendActions(for:)ͰΠϕϯτൃՐ

    View Slide

  12. Succinct
    • ViewͷUnitςετΛ؆୯ʹͰ͖ΔϥΠϒϥϦ
    • https://github.com/derekleerock/Succinct

    View Slide

  13. ͜ͷը໘Λςετ͍ͨ͠
    •੥ٻ͕ͳ͍࣌
    •ʮ͝ར༻͸͋Γ·ͤΜʯͷUILabel
    •ϨϯίϯͱΦϨϯδͷUIImageView

    View Slide

  14. • MVPͷPresenterʹΑΔखଓ͖ܕͷߋ৽
    • ViewͷdisplaysEmptyView()ΛݺͿͱView͸͖ͬ͞ͷը໘Λ
    දࣔ͢Δ
    લఏ

    View Slide

  15. Succinct!!

    View Slide

  16. ·ͱΊ
    • Viewͷςετ͸৭ʑ͋Δ͕ɺԿΛςετ͍͔ͨ͠Ͱ͔ͬ͠Γ
    ࢖͍෼͚Δ
    • UnitςετͰςετͰ͖ΔͷͰ͋Ε͹ίετ௿ͳͷͰྑ͍
    • UIControl΍SuccinctΛ࢖ͬͯΑΓศརʹViewͷUnitςετΛ

    View Slide

  17. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide