我使用 Mocha 作为我的 Node.js 应用程序的测试框架。
我有一个使用异步 waterfall Node 模块的现有模块。我正在尝试为其编写一个单元测试用例。我无法为数组中的第二个函数编写测试用例。有关如何将一个函数的结果传递到数组中的下一个函数的任何提示
var async = require('async');
module.exports.resetPassword = function(req,res,next){
async.waterfall([
function(done){
var token = do something;
done(err,token);
},
function(token,done){
//do some stuff
res.status(200).send('success');
},
]function(err){
//send failure response
});
};
最佳答案
我想我现在明白了这个问题。 在您的测试中 - 您执行以下行:
user.resetPassword(request,response,next);
紧接着 - 这行:
cryptoStub.restore();
问题是 - async.waterfall 将启动第一个方法,但在运行第二个方法之前,它将运行单元测试中的下一行,因此您看不到下一个方法。解决这个问题的代码如下:
user.resetPassword(request,response,function(err) {
cryptoStub.restore();
done();
});
看起来更好吗?
关于node.js - 使用 mocha 单元测试异步 waterfall ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33795226/