首页 > 解决方案 > 为 Flutter FutureBuilder 编写测试

问题描述

在我的应用程序中按下按钮后,它会打开另一个屏幕,一个从 FutureBuilder 加载的表单(StatefulWidget)。我需要为此编写测试类,但在日志中它说执行表单时未完成构建。这是测试代码,

await tester.tap(find.byIcon(Icons.add));
  await tester.pump(const Duration(seconds: 1));

   await tester.runAsync(() async {
    when(tester.tap(find.byKey(Key("add_new_form")))).thenAnswer((_) => Future.delayed(Duration(seconds: 30), () => []));
    await tester.pumpAndSettle(Duration(seconds: 10), EnginePhase.build, Duration(minutes: 1));

    await tester.pump();
    await tester.pump(const Duration(seconds: 1));
    await tester.pump(const Duration(seconds: 1));
    expect(find.byKey(Key("form")), findsOneWidget);
  });

如何为 Flutter FutureBuilder 编写测试类?我见过两个与 FutureBuilder 有关的问题,但它们与我的情况不同。任何帮助,将不胜感激。

标签: flutterflutter-test

解决方案


推荐阅读