0

我试图模拟一个快速响应对象以执行一些单元测试。到目前为止,我的模拟响应对象看起来像这样:

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 值始终只是“”(空字符串)

理想情况下,我不想更改路由实现,但我希望能够获得传递的任何值以在瀑布结束时发送。

4

0 回答 0