颤振测试,表明集团未产生任何状态

时间:2020-03-27 14:29:37

标签: flutter dart bloc

我有一个条件满足的情况,那就是该集团根本没有产生一个状态(忽略所有事件)。当向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(),
          ],
        );
      },
    );

由于该功能尚未实现,我希望测试失败,但实际上运行成功。有什么主意吗?

1 个答案:

答案 0 :(得分:0)

您可以针对不发出任何内容的条件进行特定的测试,并订阅您的块,然后在发出该块的情况下在订阅中调用fail(),因此您知道它们只有在以下情况下才能成功进行测试: fail()没有被调用。这也应该是同步调用。

类似的东西:

var subscription = myBlocStream.listen((_) { 
  fail('Should not emit'); 
}); 
myBloc.doSomething();
subscription.cancel();
相关问题