【发布时间】:2019-10-30 11:17:11
【问题描述】:
考虑下面的测试代码...
main() {
StreamController controller;
setUp(() {
controller = StreamController.broadcast(sync: false);
});
tearDown(() {
controller.close();
});
test('Stream listen test', () {
var stream = controller.stream;
stream.listen((event) {
// >>>>> How can I test if this was called?? <<<<<<
});
controller.add('Here is an event!');
});
}
...测试stream.listen(...) 回调被调用的正确方法是什么?
stream.listen(...) 不返回 Future,因此传统的 expectAsyncX 样式匹配器在这里不起作用。
也许有一些方法可以使用stream.listen(...)返回的StreamSubscription.asFuture()?
【问题讨论】:
标签: unit-testing dart flutter-test