我试着点击我的按钮然后检查结果后等待一段时间expect.我正在使用Future.delayed它.但那对我不起作用.我有一个超时错误.
TimeoutException after 0:00:05.000000: Test timed out after 5 seconds.
Run Code Online (Sandbox Code Playgroud)
这是我使用的代码:
... // other tests
await tester.tap(find.widgetWithText(GestureDetector, "ref size"));
await new Future.delayed(new Duration(milliseconds: 50));
expect(testContainerState.childWidth, 50.0);
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么会发生这种(imo)奇怪的行为?
Jon*_*ams 13
因此,从一个更简单的答案开始,在颤振测试中等待一段时间的正确方法是使用tester.pump.
await tester.pump(new Duration(milliseconds: 50));
Run Code Online (Sandbox Code Playgroud)
对于这种情况发生的原因,更长的答案与颤振测试环境有关.为了确保测试是可靠的,即使面对时变动画,环境也会使用来自`package:quiver的FakeAsync等实用工具来尽可能多地减少异步行为.
| 归档时间: |
|
| 查看次数: |
2563 次 |
| 最近记录: |