【发布时间】:2014-01-14 11:31:14
【问题描述】:
我有一个要测试的模块。它的布局是这样的:
exports.doThings = function(args, callback) {
async.series([
function doThisFirst(next) {....},
function doThisSecond(next) {....}
], .....
}
我很想单独测试 doThisFirst 和 doThisSecond 函数,所以我尝试像这样导出它们:
exports.doThings = function(args, callback) {
async.series([
exports.doThisFirst = function(next) {....},
exports.doThisSecond = function(next) {....}
], .....
}
但是,我在运行测试时收到此错误:TypeError: Object # has no method 'doThisFirst'
如果我把代码改成这样就可以了:
exports.doThings = function(args, callback) {
async.series([
exports.doThisFirst,
exports.doThisSecond
], .....
}
exports.doThisFirst = function(next) {....}
但我认为这对代码的可读性不利。有没有办法解决这个问题?
【问题讨论】:
-
当您进行异步导出时,您应该尝试不同的策略。 stackoverflow.com/questions/6425290/…
-
啊,我现在看到了问题。谢谢!
标签: javascript node.js