我有一个条件满足的情况,那就是该集团根本没有产生一个状态(忽略所有事件)。当向bloc添加新事件时,如何测试没有状态产生?
我正在使用 flutter_bloc:^ 3.1.0 和 bloc_test:^ 3.1.0
'test ignore all event after AlarmEvent()',
() async {
bloc.add(AlarmEvent());
bloc.add(GetRandomPostEvent());
await emitsExactly(
bloc,
[
SplashScreenLoadingState(),
ShowAlarmState(),
],
);
},
);
由于该功能尚未实现,我希望测试失败,但实际上运行成功。有什么主意吗?
答案 0 :(得分:0)
您可以针对不发出任何内容的条件进行特定的测试,并订阅您的块,然后在发出该块的情况下在订阅中调用fail()
,因此您知道它们只有在以下情况下才能成功进行测试: fail()
没有被调用。这也应该是同步调用。
类似的东西:
var subscription = myBlocStream.listen((_) {
fail('Should not emit');
});
myBloc.doSomething();
subscription.cancel();