是否可以自动重复Dart或Flutter单元测试?

mznpcxlj  于 2023-02-09  发布在  Flutter
关注(0)|答案(1)|浏览(140)

当用Dart或Flutter进行单元测试时如果有100个单元测试,如果运行flutter test命令,一次将测试100个测试代码,但我想重复N次,是否有命令或方法在一次完整测试后自动重新开始测试,并报告测试是否中断?

k97glaaz

k97glaaz1#

我不知道为什么有必要这样做,但是我想您可以将想要重复的测试 Package 在一个从0N的for循环中。
如果使用int.fromEnvironment定义N,则可以在命令行中传入N的值。
flutter test --dart-define=N=100

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:example/main.dart';

const N = int.fromEnvironment('N', defaultValue: 1);

void main() {
  for (int i = 0; i < N; i++) {
    testWidgets('Counter increments smoke test $i',
        (WidgetTester tester) async {
      // Build our app and trigger a frame.
      await tester.pumpWidget(const MyApp());

      // Verify that our counter starts at 0.
      expect(find.text('0'), findsOneWidget);
      expect(find.text('1'), findsNothing);

      // Tap the '+' icon and trigger a frame.
      await tester.tap(find.byIcon(Icons.add));
      await tester.pump();

      // Verify that our counter has incremented.
      expect(find.text('0'), findsNothing);
      expect(find.text('1'), findsOneWidget);
    });
  }
}

或者,您可以编写一个运行flutter testN次的程序。

相关问题