有人可以告诉我如何在小部件测试期间实现覆盖颤动错误,以便我可以检查自己的自定义错误。
我在网上看到了提到这一点的片段,但我所有的实现都失败了
void main() {
testWidgets('throws an error when scanning unknown term types', (WidgetTester tester) async {
await tester.pumpWidget(injectTestWidget(new ItemScanScreen()));
await tester.enterText(find.byKey(new Key('term')), '');
await tester.tap(find.byIcon(Icons.send));
await tester.pump();
expect(
tester.takeException(),
isInstanceOf<UnrecognizedTermException>(),
reason: 'should have thrown an UnrecognizedTermException error but didn\'t',
);
});
}
上面的代码失败并显示以下消息,即使它看起来实际上“捕获”了我的错误:
The following UnrecognizedTermException was thrown running a test:
Instance of 'UnrecognizedTermException'
...
我读到你可以做类似下面的代码片段,但它没有看到如何/在哪里实现它:
final errorHandled = expectAsync0((){});
FlutterError.onError = (errorDetails) {
// handle error
errorHandled();
});