Dart 颤振试验:等待一定时间

Dart 颤振试验:等待一定时间,dart,flutter,Dart,Flutter,我正在尝试等待一段时间后,我测试点击我的按钮,然后用expect检查结果。我用的是Future.delayed。但这对我不起作用。我有一个超时错误 TimeoutException after 0:00:05.000000: Test timed out after 5 seconds. 这是我使用的代码: ... // other tests await tester.tap(find.widgetWithText(GestureDetector, "ref size")); await

我正在尝试等待一段时间后,我测试点击我的按钮,然后用
expect
检查结果。我用的是
Future.delayed
。但这对我不起作用。我有一个超时错误

  TimeoutException after 0:00:05.000000: Test timed out after 5 seconds.
这是我使用的代码:

... // other tests
await tester.tap(find.widgetWithText(GestureDetector, "ref size"));
await new Future.delayed(new Duration(milliseconds: 50));
expect(testContainerState.childWidth, 50.0);

有人知道为什么会发生这种(imo)奇怪的行为吗?

因此,要从一个更简单的答案开始,在颤振测试中等待一段时间的正确方法是使用
测试仪。泵

await tester.pump(new Duration(milliseconds: 50));
关于为什么会发生这种情况的较长答案与颤振测试环境有关。为了确保测试是可靠的,即使面对时变的动画,环境也会尽可能多地模拟异步行为,使用诸如from
package:quivel
之类的实用程序