我有以下要测试的代码。
this.getWorkers().subscribe(data=>{
...[code]...
})
然后,我进行了这个单元测试。
.orig x3000
lea r0, string ;
br putss
putss
ldr r1, r0,#0
add r0, r1,#0
add r4, r0, #-4
brz theend
out
and r1,r1,#0
add r0,r0,#1 ; keeps fetching next chara
br putss
theend
halt
string .STRINGZ "salazar"
.end
此测试无效,因为测试完成后会执行emitter.on("request", function(req, res) {
mock_finder.getMockedResponse().then((mockedResponse) => {
res.end(mockedResponse);
});
});
。
如何在调用事件后测试promise响应?
答案 0 :(得分:1)
鉴于此处没有真正的异步代码,您可以在下一个时间点验证结果:
if('should return mocked response', done => {
...
emitter.emit('request', req, res);
process.nextTick(() => {
expect(res.end).toHaveBeenCalledWith(mockedResponse);
done()
});
})