Bloc:如何模拟获取状态
Posted
技术标签:
【中文标题】Bloc:如何模拟获取状态【英文标题】:Bloc: how to mock the get state 【发布时间】:2019-11-25 23:58:14 【问题描述】:这是我的测试:
MockBloc bloc = MockBloc();
when (bloc.state).thenAnswer((_) => State)
我想给出一个特定的状态,但是,如果我尝试在那里简单地写 MyState()
,IDE 只会说
不是流
我怎样才能通过State
?
【问题讨论】:
【参考方案1】:你必须让你的模拟返回一个状态流,而不是状态对象。
final controller = StreamController<BlocState>();
when(bloc.state).thenAnswer((_) => controller.stream);
然后你可以给控制器添加新的状态
controller.add(MyState());
【讨论】:
以上是关于Bloc:如何模拟获取状态的主要内容,如果未能解决你的问题,请参考以下文章