Flutter:在小部件测试中测试异常
Flutter: Testing for exceptions in widget tests
如何确保 ui(小部件)在 Flutter 中的小部件测试期间抛出异常。这是我的代码不起作用:
expect(
() => tester.tap(find.byIcon(Icons.send)),
throwsA(const TypeMatcher<UnrecognizedTermException>()),
);
失败并出现以下错误
...
Expected: throws <Instance of 'TypeMatcher<UnrecognizedTermException>'>
Actual: <Closure: () => Future<void>>
Which: returned a Future that emitted <null>
或者......我应该通过查找错误消息等来测试 UI 处理 异常的方式吗??
要捕获 flutter 测试中抛出的异常,请使用 WidgetTester.takeException。这是 returns 框架捕获的最后一个异常。
await tester.tap(find.byIcon(Icons.send));
expect(tester.takeException(), isInstanceOf<UnrecognizedTermException>());
您也不需要 throwsA
匹配器,因为它不是从方法中抛出的。
如何确保 ui(小部件)在 Flutter 中的小部件测试期间抛出异常。这是我的代码不起作用:
expect(
() => tester.tap(find.byIcon(Icons.send)),
throwsA(const TypeMatcher<UnrecognizedTermException>()),
);
失败并出现以下错误
...
Expected: throws <Instance of 'TypeMatcher<UnrecognizedTermException>'>
Actual: <Closure: () => Future<void>>
Which: returned a Future that emitted <null>
或者......我应该通过查找错误消息等来测试 UI 处理 异常的方式吗??
要捕获 flutter 测试中抛出的异常,请使用 WidgetTester.takeException。这是 returns 框架捕获的最后一个异常。
await tester.tap(find.byIcon(Icons.send));
expect(tester.takeException(), isInstanceOf<UnrecognizedTermException>());
您也不需要 throwsA
匹配器,因为它不是从方法中抛出的。