如何在flutter 2中进行多个集成测试文件?

时间:2021-07-08 08:46:37

标签: flutter flutter2.0 flutter-integration-test

我正在尝试使用新的 integration_test 包为我的 Flutter 应用创建集成测试:https://github.com/flutter/flutter/tree/master/packages/integration_test#integration_test

我有多个集成测试文件,例如:

integration_test/
   login_test.dart
   logout_test.dart
   run_all_test.dart
test_driver/
   integration_test.dart

我想使用 run_all_test.dart 按顺序运行登录和注销测试

在 run_all_test.dart 脚本中,我有:

void main() {
final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized() as 
IntegrationTestWidgetsFlutterBinding;
binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.fullyLive;

app.main();

group('All tests', () {
loginTest();
logoutTest();
});

和login_test.dart是这样的(logout_test.dart是一样的):

void main() {
loginTest();
}
Future<void> loginTest() async {
group('Login - ', (){
testWidgets("Login test", (WidgetTester tester) async {
  await ...
   });
 });
} 

现在,登录工作完美,当他完成后,开始注销测试,但此时,应用程序正在等待消息“测试开始......”然后失败。

使用旧包,一切正常,并且在一个测试和另一个测试之间,应用程序没有重新启动。

1 个答案:

答案 0 :(得分:0)

我解决了添加:

await tester.pumpFrames(app.MyApp(), Duration(seconds: 3));

在所有测试文件中。