我试图模拟一个快速响应对象以执行一些单元测试。到目前为止,我的模拟响应对象看起来像这样:
module.exports.responseHelper = {
response: "",
send : function(val){
this.response = val;
}
}
我的问题是,如果我将此对象传递给这样的方法:
var async = require('async');
exports.sample = function (req, res) {
async.waterfall([
function(callback){
callback(null, res);
},
function(res, callback){
callback(null, res);
},
function(res, callback){
callback(null, res);
}
], function (err, res) {
console.log("res before: " + res.response);
res.send("something4");
console.log("res after: " + res.response);
});
};
像这样称呼它:
var route = require("../routes/testing");
var response = require("./requestHelper").responseHelper;
var req = {
params: {
someID: 1
}
}
route.sample(req, response);
console.log("final res: " + response.response);
response.response 值始终只是“”(空字符串)
理想情况下,我不想更改路由实现,但我希望能够获得传递的任何值以在瀑布结束时发送。