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

Flutterテストことはじめ

 Flutterテストことはじめ

@Flutter Meetup Tokyo #2
#flutter_meetup_tokyo

takattata

May 31, 2018
Tweet

More Decks by takattata

Other Decks in Programming

Transcript

  1. Flutter テストことはじめ
    Flutter Meetup Tokyo #2
    @takattata #flutter_meetup_tokyo

    View Slide

  2. Takasy (高島 友里)
    @takattata
    アプリエンジニア
    (iOS/Android)
    Swift/Kotlin
    ままのて

    View Slide

  3. 導入:質問です!
    Flutterのテスト
    書いたこと
    ありますか?

    View Slide

  4. 導入
    新しくやり始めた時は
    ひとまずテストを書いてみたくなる病
    ※とはいえテストに詳しい訳ではない

    View Slide

  5. テストの種類
    1. Unit testing
    2. Widget testing
    3. Integration testing
    スライド全体の参照: Testing Flutter Apps
    1 2 3
    大きく3種類

    View Slide

  6. ・外部の依存関係にはモックを使う
    ・読み書き、UI、ユーザーのアクションは範囲外
    ・目的:様々な条件下でロジック部分の正確性を検証すること
    Unit testing
    Unit
    package: flutter_test

    View Slide

  7. Widget testing
    ・1つのウィジェットをテストする
    ・ユーザーのアクション、レイアウト、子のウィジェットを作れる
    環境で行なう
    ・目的:ウィジェットのUIが期待通りに見え、やりとりするのを確
    認すること
    Widget
    package: flutter_test

    View Slide

  8. Integration testing
    ・シミュレータで実行する
    ・アプリのパフォーマンス検証もできる
    ・Espresso, UI Automation etc… => Flutter Driver
    ・目的:アプリが正しく機能していること、構成する全てのウィ
    ジェットが期待通りに統合されていること
    Integration
    package: flutter_driver

    View Slide

  9. GitHub: Flutter gallery
    Flutter Galleryの
    テストコードを見てみよう!

    View Slide

  10. Unit testing
    ↑ロジックはこのクラスにある

    View Slide

  11. Unit testing

    View Slide

  12. Widget testing
    ~Stateの内容
    ・validate掛ける
    ・personにsetStateで設定
    ・見た目作る

    View Slide

  13. Widget testing
    ↓CommonFinders

    View Slide

  14. Widget testing
    この上でnameFieldに#を入れてる

    View Slide

  15. 乞うご期待
    Integration testing
    学んだことはブログに書くと思います

    View Slide

  16. 良きテストライフを!

    View Slide