1
我试图测试通过嘲讽插座飞镖嘲讽的Stream
我的类使用的WebSockets类看起来像
class WebLoggerHandler{
WebLoggerHandler(){
var webSocket = new WebSocket('hostUrl');
webSocket.onOpen.first.then((_) {
webSocket.sendString('hello');
});
}
}
我嘲讽的WebSocket类如下
class MockWebSocket extends Mock implements WebSocket{
Stream<Event> onOpen;
}
我测试的身体看起来像
var webSocket = new MockWebSocket();
//fire the onOpen event
webSocket.onOpen = new Stream.fromFuture(new Future.value(new Event("onOpen")));
WebLoggerHandler underTest = new WebLoggerHandler();
//test that the hello message was sent when the socket was opened
webSocket.getLogs(callsTo("sendString", 'hello')).verify(happenedExactly(1))
但它不工作,因为onClose事件发生在检查webSocket日志之后。
如何让代码等待未来发生?
谢谢