Рассмотрим следующий тестовый код ...
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
здесь не будут работать.
Возможно, есть какой-то способ использовать StreamSubscription.asFuture()
, возвращаемый stream.listen(...)
?