testWidgets 方法中 "async" 的原因是什么?

What's the reason for "async" in testWidgets methods?

我能找到的每个 widget testing 的例子都有你写的带有签名 testWidgets('name of the test', (WidgetTester tester) async 的方法。 async 部分是否始终是测试框架的某些要求所必需的,或者仅当您使用 await 或在方法主体的某处进行 Future 调用时才需要?

async 仅在使用 await 时才需要。

似乎他们有点急于添加它(或忘记删除它),即使它不是必需的。

每当您使用 pumpWidgets 时都需要它,如果您使用 testWidgets,您几乎总是会用到它,因为那是 testWidgets 的要点。

pumpWidgets 使用它是因为这就是您可以 运行 使用加速人工时间 flutter test 或实时 flutter run 进行测试的方式。