【发布时间】:2015-11-18 08:58:10
【问题描述】:
我是单元测试的新手。我在 Node.js 中工作,我正在使用 async module。这是我正在使用的代码:
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”),必须在匿名回调函数中使用。
如何对这个匿名函数代码进行单元测试?
【问题讨论】:
标签: node.js unit-testing mocha.js chai