Flutter におけるテスト(おさらい)
unit test
A unit test tests a single function, method, or class.
widget test
A widget test (in other UI frameworks referred to as component test) tests a single
widget.
integration test
An integration test tests a complete app or a large part of an app.
Testing & debugging > Testing Flutter apps - https://docs.flutter.dev/testing/overview
Slide 12
Slide 12 text
unit test
単一の関数・メソッド・クラスを対象としたテスト
外部依存は mockito などを用いてモックしたりする
ダミーデータは data_fixture_dart や json ファイルを用意することが多い
様々な条件下でのロジックを検証する
pub.dev > mockito - https://pub.dev/packages/mockito
Slide 13
Slide 13 text
widget test
単一のウィジェットを対象としたテスト a.k.a component test
UIが期待通りに表示されることや、ユーザーインタラクションに応じた検証
golden test もここに含まれる
実際の UI system と比較すると簡略化される
状態変化に応じたリビルドのため WidgetTester# pump を呼んだり、
WidgetTester#pumpAndSettle を呼んだりする
pub.dev > golden_toolkit - https://pub.dev/packages/golden_toolkit
Slide 14
Slide 14 text
integration test
アプリ全体やアプリの大部分(機能間連携や複数のウィジェットを横断した動
作)を対象としたテスト
実機(エミュレータ・シミュレータ含む)での実行となるため、動作パフォーマ
ンスの検証にも役立つ
動作環境(プラットフォーム)に依存した機能についての検証
メディアストレージ
実際に通信を伴う機能