【发布时间】:2016-04-26 02:47:52
【问题描述】:
在下面的代码中,两个函数在异步模块的帮助下同时运行。一旦获得了两个函数的结果,就会调用最终函数 dosomething3()。我将如何测试是否调用了正确的回调?
async.parallel([
function(cb) {
doSomething1(function(err, result) {
if (err) return cb(err); // WANT TO TEST
cb(null, result); //WANT TO TEST
});
},
function(cb) {
doSomething2(function(err, result) {
if (err) return cb(err); // WANT TO TEST
cb(null, result); //WANT TO TEST
});
}
], function(err, data) {
if (err) return handleError(err); //WANT TO TEST
var result1 = data[0];
var result2 = data[1];
dosomething3(result1, result2, function(err) {
if (err) return handleError(err);
process.exit(0);
})
});
【问题讨论】:
-
如何在每个回调中使用console.log
if(err){console.log('doSomething1 error', err); return cb(err); }等等 -
是的,使用 console.log 或使用管理断点的 IDE 运行代码。
-
您想调试回调调用还是确保调用所有回调都没有错误?
-
我想使用 mocha 和 sinon 为回调编写单元测试。
-
@nomad 看到我的回答,希望你理解这个想法。查看更多信息here
标签: node.js asynchronous mocha.js sinon chai