测试建筑Flutter小部件引发异常

时间:2018-11-12 06:55:22

标签: dart flutter

有没有一种方法来测试构建引发异常的小部件。

我在testWidgets中尝试过此操作,但无法识别错误。

expectLater(() async {
  await tester.pumpWidget(...);
}, throwsException);

1 个答案:

答案 0 :(得分:2)

您只能捕获由代码调用的代码引发的异常。
build()由Flutter框架调用,因此错误在那里出现。

您可以在测试中为此类异常注册自定义错误处理程序

final errorHandled = expectAsync0((){});

FlutterError.onError = (errorDetails) {
  // handle error
  errorHandled();
});

如果在测试超时之前未调用errorHandled,则测试将失败。

https://docs.flutter.io/flutter/foundation/FlutterError-class.html