flutter - 为 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 有关的问题,但它们与我的情况不同。任何帮助,将不胜感激。
解决方案
推荐阅读
- javascript - 如何在客户端(vue.js)实现自动刷新?
- ruby-on-rails - 当我什至没有点击“/”时,Rails 开发服务器读取错误请求“开始获取 '/'...”
- django - 名字和姓氏在管理面板中不可见
- controller - 如何从 Symfony4 中的表单中恢复数据?
- batch-file - 如果令牌=给定数字,如何设置变量
- python - 使用 Praw 刮掉 subreddit 帖子标题并将它们用作文件名
- vue.js - 如何通过单击获取 currentTarget 对象
- excel - 为不同的工作簿应用公式
- haskell - 控制多类型类型类中的类型应用顺序
- java - 为什么 HashSet 为 getExactSizeIfKnown 返回 -1