Node.js '的目的/性质是什么;完成();在超级测试中?
在(非常有限的)中,有一些代码示例,其中传递了名为Node.js '的目的/性质是什么;完成();在超级测试中?,node.js,supertest,Node.js,Supertest,在(非常有限的)中,有一些代码示例,其中传递了名为done()的回调函数: description('GET/user',function(){ 它('用json响应',函数(完成){ 请求(应用程序) .get(“/user”) .set('Accept','application/json') .expect('Content-Type',/json/) .预计(200,完成); }); }); 此done()回调的目的/性质是什么?您的请求是异步的 这意味着,除非您能够等待它,否则从第2
done()
的回调函数:
description('GET/user',function(){
它('用json响应',函数(完成){
请求(应用程序)
.get(“/user”)
.set('Accept','application/json')
.expect('Content-Type',/json/)
.预计(200,完成);
});
});
此
done()
回调的目的/性质是什么?您的请求是异步的
这意味着,除非您能够等待它,否则从第2行开始的函数将立即退出。然后,Mocha将继续进行其他测试,然后突然,请求承诺将实现并完成任务,而Mocha甚至不再查看您的“用json响应”规范
您试图实现的行为是执行请求,等待响应,然后测试它是否为200
有3种等待响应的方法:
description('GET/user',function(){
它('用json响应',函数(){
退货申请(app)
.get(“/user”)
.set('Accept','application/json')
.expect('Content-Type',/json/)
.预期(200);
});
});
因为摩卡将等待所有的承诺
description('GET/user',function(){
它('用json响应',异步函数(){
等待请求(应用程序)
.get(“/user”)
.set('Accept','application/json')
.expect('Content-Type',/json/)
.预期(200);
});
});
您的请求是异步的
这意味着,除非您能够等待它,否则从第2行开始的函数将立即退出。然后,Mocha将继续进行其他测试,然后突然,请求承诺将实现并完成任务,而Mocha甚至不再查看您的“用json响应”规范
您试图实现的行为是执行请求,等待响应,然后测试它是否为200
有3种等待响应的方法:
description('GET/user',function(){
它('用json响应',函数(){
退货申请(app)
.get(“/user”)
.set('Accept','application/json')
.expect('Content-Type',/json/)
.预期(200);
});
});
因为摩卡将等待所有的承诺
description('GET/user',function(){
它('用json响应',异步函数(){
等待请求(应用程序)
.get(“/user”)
.set('Accept','application/json')
.expect('Content-Type',/json/)
.预期(200);
});
});
这是否意味着done
是一个Mocha/Jest功能而不是超级测试功能?另外,在您的最后两个代码示例中:done
是否应该在这些代码中省略?您完全正确!done是一个mocha特性,在其他两个示例中应该省略done。更新了答案这是否意味着done
是一个Mocha/Jest功能,而不是超级测试功能?另外,在您的最后两个代码示例中:done
是否应该在这些代码中省略?您完全正确!done是一个mocha特性,在其他两个示例中应该省略done。更新了答案