我试着用这样的函数来测试一个类。
class A {
void doStuff() {
// Do stuff...
notifyListeners();
}
}我目前正在使用flutter-test包自动化我的测试。我的测试看起来如下:
void main() {
final myInstance = A();
group("Class A", () {
test("should correctly do stuff", () async {
myInstance.doStuff();
expect(...);
});
});
}测试工作正常,expect得到了正确的结果。但是,控制台显示了一条错误消息:
在为A类发送通知时抛出以下StateError:
糟糕的状态:未来已经完成
是什么导致了这个错误,我怎样才能防止它发生?
发布于 2022-06-04 13:09:04
原来,notifyListeners()是这里的根本原因。它抛出一个错误,大概是因为它还没有初始化。
通过等待初始化,错误已经停止发生。参考见TestWidgetsFlutterBinding.ensureInitialized
setUpAll(() {
TestWidgetsFlutterBinding.ensureInitialized();
});https://stackoverflow.com/questions/72499997
复制相似问题