请解释 done() 方法和作为参数传递给函数的 done 关键字之间的区别?
it("qwerty",function(done){
------
------
done();
});
it('qwerty', function(done){
----------
----------
.expect(404, done);
})
请解释区别以及我可以在循环中调用 done() 多少次 如果我调用了 15 次,我会收到错误消息“multiple times done() called”
最佳答案
在第一个示例中,您显式调用了它。在第二个中,您将 done
函数作为回调传递给 expect
。它检查响应状态(我假设您使用 supertest
库),如果它等于 404,则调用不带参数的 done
函数(无错误)。否则它会调用 done
并带有类似断言错误的实例,因此 mocha 知道这是一个失败的测试。
作为常规回调,done
不应被多次调用。它应该只被调用一次,表示某个 Action 的结束,你的案例中的测试。如果您正在寻找未通过测试的能力,只需throw
即可。
关于node.js - Mocha 测试 done() 和 done 作为函数参数之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32561293/