0
1)任何人都可以解释为什么,当调试hapi的这个茉莉花测试时,调试器从来没有在注入部分内部碰到任何断点(请参阅评论),除非稍后调用它。缺少一行尚未达到的代码如何影响调试器?为什么调试器失败并且测试通过,除非done()回调被调用?
我知道重要的是要调用完成的方法(我已经故意注释掉了)。然而,我对后果感到惊讶。
2)忘记调用done方法的另一个不幸的副作用是测试总是通过。如果我犯了一个错误,我宁可看到它失败。有什么建议么?
const server = require("../lib/server");
describe("Server hello", function() {
it("returns status code 200", function (done) {
server.inject({ method: 'GET', url: '/' }, (res) => {
// Never reached if done uncommented - even by debugger breakpoint - why?");
console.log("GOT " + res.payload);
expect(res.statusCode).toBe(200);
// done(); // Test always passes if uncommented - is there any way to force an error instead?
});
});
});