0
我试图弄清楚当异步发射的事件发射时,如何测试sinon.js?node.js测试是否使用sinon.js发射事件而不使用超时
到目前为止,我在做的是设置一个超时,我知道这个事件会被暴露出来,但这很难看,可能会加起来测试运行的总时间,我不想这样做:
it('check that event was called', function(done) {
...
var spy = sinon.spy();
var cbSpy = sinon.spy();
obj.on('event', spy);
obj.func(cbSpy); // emits event 'event' asynchronously and calls cbSpy after it was emitted
setTimeout(function() {
sinon.assert.calledOnce(spy, 'event "event" should be emitted once');
sinon.assert.calledOnce(cbSpy, 'func() callback should be called once'); // won't work since the callback will be called only after the event has been emitted and all event listeners finished
}, 1000);
});