使用RxDart进行BLoC单元测试

时间:2019-06-20 11:14:41

标签: unit-testing flutter dart

我正在使用带有RxDart的BLoC模式的Flutter项目。我有一个调解器BLoC,它允许BLoC侦听状态更改。

选择一个用户(或添加分数)时,另一集团应为适当的球员发出分数的更新列表。

以下代码是单元测试的一部分。两种方法都有一个打印语句。

stateMediatorBloc.selectUser.add(user1);
stateMediatorBloc.addScore.add(score1);
stateMediatorBloc.addScore.add(score2);
stateMediatorBloc.selectUser.add(user2);

对于此代码,我期望打印顺序:

  

选择用户1

     

添加分数

     

添加分数

     

选择用户2

实际上,我得到:

  

选择用户1

     

添加分数

     

选择用户2

     

添加分数

这是中介方法的代码:

Sink<Score> get addScore => _addedScore.sink;
var _addedScore = StreamController<Score>();

Sink<User> get selectUser => _selectedUser.sink;
var _selectedUser = StreamController<User>();

任何人都可以提供关于为什么在添加score2之前选择user2的见解吗?

0 个答案:

没有答案