首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在测试对‘通知Flutter’的调用时,颤振测试抛出“不好的状态:未来已经完成”

在测试对‘通知Flutter’的调用时,颤振测试抛出“不好的状态:未来已经完成”
EN

Stack Overflow用户
提问于 2022-06-04 13:09:04
回答 1查看 194关注 0票数 0

我试着用这样的函数来测试一个类。

代码语言:javascript
复制
class A {
  void doStuff() {
    // Do stuff...
    notifyListeners();
  }
}

我目前正在使用flutter-test包自动化我的测试。我的测试看起来如下:

代码语言:javascript
复制
void main() {
  final myInstance = A();

  group("Class A", () {
    test("should correctly do stuff", () async {
      myInstance.doStuff();
      expect(...);
    });
  });
}

测试工作正常,expect得到了正确的结果。但是,控制台显示了一条错误消息:

在为A类发送通知时抛出以下StateError:

糟糕的状态:未来已经完成

是什么导致了这个错误,我怎样才能防止它发生?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-04 13:09:04

原来,notifyListeners()是这里的根本原因。它抛出一个错误,大概是因为它还没有初始化。

通过等待初始化,错误已经停止发生。参考见TestWidgetsFlutterBinding.ensureInitialized

代码语言:javascript
复制
setUpAll(() {
  TestWidgetsFlutterBinding.ensureInitialized();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72499997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档