0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】ウィジェットテストの実行

Last updated at Posted at 2024-07-18

■テストの運用

  • テストはカバレッジ(網羅率)70-80%目安。
    ->100にしようとしたら、変更のたびにテストへ割く時間、修正が多く発生し、工数がかかる

  • Lintはコーディング規約を満たすかのチェック
    -> analysis_options.yaml で定義

■設定

image.png

image.png

プロジェクト作成時に生成されたwidget_test.dartを指定

image.png

image.png

Runボタンを押すと実行される

dart widget_test.dart
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';

import 'package:test01/main.dart';// package:自分のプロジェクト名/main.dart

void main() {
  testWidgets('Counter increments smoke test', (WidgetTester tester) async {
    // pumpWidgetは画面フレームを生成し、UIの更新、状態変化を確認
    // 利用場面は以下
    // ・ユーザーインタラクション後
    // ・アニメーション、画面遷移など、時間に基づく変更時
    // ・データバインディング当で状態変更の発生時
    await tester.pumpWidget(const MyApp());

    // 画面上に期待するの要素が存在するかを確認
    // 期待値:0が1つ表示、1が1つも表示されない
    expect(find.text('0'), findsOneWidget);
    expect(find.text('1'), findsNothing);

    // ユーザー操作を実行(+アイコンタップ)
    await tester.tap(find.byIcon(Icons.add));
    await tester.pump();

    // 画面上に期待するの要素が存在するかを確認
    // 期待値:0が1つも表示されず、1が1つ表示
    expect(find.text('0'), findsNothing);
    expect(find.text('1'), findsOneWidget);
  });
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?