Bloc:如何模拟获取状态
Bloc: how to mock the get state
这是我的测试:
MockBloc bloc = MockBloc();
when (bloc.state).thenAnswer((_) => State)
我想给出一个特定的状态,但是,如果我尝试在那里简单地写 MyState()
,IDE 只会说
isn't a Stream< blocState >
如何才能通过State
?
你必须让你的模拟 return 状态流,而不是状态对象。
final controller = StreamController<BlocState>();
when(bloc.state).thenAnswer((_) => controller.stream);
然后您可以向控制器添加新状态
controller.add(MyState());
这是我的测试:
MockBloc bloc = MockBloc();
when (bloc.state).thenAnswer((_) => State)
我想给出一个特定的状态,但是,如果我尝试在那里简单地写 MyState()
,IDE 只会说
isn't a Stream< blocState >
如何才能通过State
?
你必须让你的模拟 return 状态流,而不是状态对象。
final controller = StreamController<BlocState>();
when(bloc.state).thenAnswer((_) => controller.stream);
然后您可以向控制器添加新状态
controller.add(MyState());