【问题标题】:Testing building Flutter widget throws Exception测试构建 Flutter 小部件会引发异常
【发布时间】:2018-11-12 06:55:21
【问题描述】:

有没有办法测试构建一个引发异常的小部件。

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

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

【问题讨论】:

  • 你可能想抛出构造函数而不是build

标签: dart flutter


【解决方案1】:

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

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

final errorHandled = expectAsync0((){});

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

如果在测试超时之前没有调用errorHandled,那么测试将失败。

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

【讨论】:

    猜你喜欢
    • 2019-06-13
    • 2020-03-08
    • 2019-02-25
    • 2021-05-09
    • 1970-01-01
    • 2021-09-22
    • 2015-04-10
    • 2019-10-25
    • 1970-01-01
    相关资源
    最近更新 更多