本ドキュメントでは,MiniTIAS プロジェクトのテスト方針を定義する.
flutter test で実行できる状態を維持する| 種類 | 対象 | 実施方法 |
|---|---|---|
| Unit テスト | Service 層のロジック(ファイル命名,重複回避等) | flutter test |
| Widget テスト | 画面の基本的な UI 構成(ボタンの存在等) | flutter test |
| 手動確認 | カメラプレビュー,撮影,保存,削除の E2E 動作 | 実機(AQUOS sense3) |
※ Integration テスト(flutter drive)は初期フェーズでは導入しない.
FileService — ファイル名生成ロジック,重複回避ロジックPermissionService — パーミッション状態の判定ロジック(モック使用)test/
├── services/
│ ├── file_service_test.dart
│ └── permission_service_test.dart
└── providers/
└── gallery_provider_test.dart
{対象ファイル名}_test.dartgroup('クラス名',) でクラス単位にまとめるgroup('FileService', () {
test('同秒のファイルが存在しない場合,サフィックスなしのファイル名を返す', () {
// ...
});
test('同秒のファイルが存在する場合,連番サフィックスを付与する', () {
// ...
});
});
camera パッケージのウィジェットは Widget テストで動作しない)ChangeNotifierProvider.value でモックを注入する実装完了時に以下を実機で確認する.
Pictures/MiniTIAS/ に PNG で保存される| タイミング | 実施内容 |
|---|---|
| 機能実装完了時 | 対応する Unit / Widget テストを作成・実行 |
| コミット前 | flutter test を実行し全テストが通ることを確認 |
| PR 作成前 | 手動確認項目のうち関連するものを実機で確認 |