2
我是单元测试的新手。我在Node.js中工作,我正在使用async module。这里是我正在使用的代码:使用Mocha/Chai来测试NodeJS的匿名回调代码
module.exports = {
postYelp: function (cb, results) {
if (results.findLocation) {
results.client.post(['resources', 'Yelp'].join('/'), results.findLocation, function (err, data, ctx) {
/* istanbul ignore next */
if (err) {
cb(err);
} else {
console.log('data', data);
console.log('ctx', ctx.statusCode);
return cb(null, ctx.statusCode);
}
});
}
/* istanbul ignore next */
else cb(null);
},
}
因此,大家可以看到,在函数调用的第三个参数来results.client.post是一个匿名的回调。
我想测试这个回调的覆盖范围。如果我可以轻松地使用与回调相同的代码重新创建一个命名的函数并替换它,我可以单独测试它。但是,封闭函数(“postYelp”)有自己的回调函数(“cb”),它必须在匿名回调函数中使用。
我该如何测试这个匿名函数代码?