繁体   English   中英

如何在 Flutter 集成测试中的每个 testWidgets 之间重新安装应用程序?

[英]How to reinstall the app between every testWidgets in Flutter integration test?

在 Flutter 集成测试中,有什么方法可以终止应用程序并为每个testWidgets重新安装它?

void main() {
  IntegrationTestWidgetsFlutterBinding.ensureInitialized();

  testWidgets('TC_01 Home page validation', (tester) async {
    app.main();
    await tester.pumpAndSettle(const Duration(seconds: 5));

    await tester.tap(find.byKey(const ValueKey('startButton')));
    await tester.pumpAndSettle();
  });

  testWidgets('TC_02 Home page text validation ', (tester) async {
    app.main();
    await tester.pumpAndSettle(const Duration(seconds: 5));
    expect(find.text('Home Screen'), findsOneWidget);
    expect(find.text('Transactions'), findsOneWidget);
  });
}

我想为每个运行的新测试重新安装应用程序。

这是不可能的,因为在 Flutter 中,测试(包括集成测试)存在您的应用程序中。 如果您在第一个测试通过后卸载了该应用程序,您也会卸载测试套件(在您的应用程序内运行)——这没有意义。

一个更好的问题是问:你想实现什么? 如果你想重置 state,你可以再次启动你的应用程序,它会重置整个小部件树,以及你可能创建的所有集团/供应商。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM