Bloc:如何模拟获取状态

时间:2019-07-17 07:48:46

标签: flutter mocking state bloc

这是我的测试

 MockBloc bloc = MockBloc();
        when (bloc.state).thenAnswer((_) => State)

我想给出一个特定的状态,但是,如果我尝试在那里简单地写MyState(),IDE只会说

  

不是流

如何通过State

1 个答案:

答案 0 :(得分:1)

您必须使模拟返回状态流,而不是状态对象。

final controller = StreamController<BlocState>();
when(bloc.state).thenAnswer((_) => controller.stream);

然后您可以向控制器添加新状态

controller.add(MyState());