Node.js 用Mocha测试异步函数
我正在使用MochaJS测试我的NodeJS应用程序 我有一个Node.js 用Mocha测试异步函数,node.js,asynchronous,mocha.js,Node.js,Asynchronous,Mocha.js,我正在使用MochaJS测试我的NodeJS应用程序 我有一个someFunc()函数,该函数如下: function someFunc(cb) { // Do some async works... // When async works finish if(err) // if there is error cb(err); else cb(); } 并进行如下测试: it('...', function(done) {
someFunc()
函数,该函数如下:
function someFunc(cb) {
// Do some async works...
// When async works finish
if(err) // if there is error
cb(err);
else
cb();
}
并进行如下测试:
it('...', function(done) {
className.someFunc(function(err) {
if (err) done(err);
else done();
});
});
但我仍然得到这个错误:
Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
我正在回调函数中使用done()
函数。这是一个问题吗?注意这实际上是@cartant的答案,但他没有将其作为答案发送,因此我将解释解决方案
我没有意识到,但是在
someFunc
中的一个例子中,它没有调用回调。所以,如果您有同样的问题,请确保您的函数确实在调用回调。您所得到的应该是好的。你确定someFunc正在调用回调吗?@cartant是的,这正是我的问题。我需要一杯咖啡:)谢谢。你能把它作为答复寄给我吗?