不知何故,我无法为相对非常简单的功能编写 Mocha JS 测试。JavaScript 源文件如下所示
exports.cb = function() {
console.log("The function is called after 3 seconds");
}
exports.testfn = function(cb) {
setTimeout(cb, 3000);
}
测试代码写成
describe('Main Test', function(){
it('A callback Tests', function(done){
asn.testfn(asn.cb);
done();
});
});
我遇到了2个问题。
- 测试代码立即以 done() 结束
- 如果我不调用 done(),则调用该函数但测试失败,因为它希望为异步函数调用 done()
我查看了文档,但不确定如何做到这一点。
我可以使用 Promise 编写测试并且效果很好。但是对于我们需要使用setTimeout的场景,应该怎么做呢?