flutter - Bloc:如何模拟获取状态
问题描述
这是我的测试:
MockBloc bloc = MockBloc();
when (bloc.state).thenAnswer((_) => State)
我想给出一个特定的状态,但是,如果我试图简单地写MyState()
在那里,IDE 只会说
不是 Stream< blocState >
我怎样才能通过State
?
解决方案
你必须让你的模拟返回一个状态流,而不是状态对象。
final controller = StreamController<BlocState>();
when(bloc.state).thenAnswer((_) => controller.stream);
然后您可以向控制器添加新状态
controller.add(MyState());
推荐阅读
- javascript - 移动时画布中的图像消失(JavaScript)
- wpf - 用户控件、内容控件和 MVVM
- java - 有没有办法用mac在eclipse上删除module-info.java?
- c# - 如何创建具有两个与 Swagger 一起使用的不同 Get 端点的基本控制器?
- python - 如何使用新的年、月、日 Python 日期时间将时间戳字符串增加到时间戳?
- javascript - 如何从 Microsoft Bot Framework NodeJS 中的回调继续对话
- javascript - 如何在 React 中使用 useState 在对象数组中添加一个对象?
- entity-framework-core - 使用表达式在 EF 中进行动态查询
- android - Bluetoothprofile.ServiceListener :在某些设备上未调用 onServiceConnected
- python - 有没有从 xarray 数据集中获取 xyz 数组的简单方法?