【发布时间】:2017-02-26 08:08:05
【问题描述】:
不知何故,我无法为一个相对非常简单的功能编写 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的场景,应该怎么做呢?
【问题讨论】:
-
你想测试什么?
testfn或cb?
标签: javascript node.js mocha.js gulp-mocha