使用mocha.js共享对象实例的问题

时间:2015-10-06 21:09:20

标签: javascript node.js unit-testing mocha supertest

我已经在这个问题上苦苦挣扎了几个小时,我无法找到解决方案。

假设我有这个文件( main.js )导出一个对象:

var MyModule = require('./module');
var dependency = require('./moduleDependency');

exports.start = function start(app){
    var myObject = new MyModule(dependency);

    module.exports.myObject = myObject; //sharing this object
};

然后,在控制器中我需要它( controller.js )修改该对象:

var myObject = require('./main').myObject;

exports.routeLogic = function(req, res, next){
    myObject.setName('newName');
    res.sendStatus(200);
};

当我需要 myObject 时,问题出现在我的测试规范中,缺少这些修改:

var myObject = require('./main').myObject;

describe('test spec', function(){
    before(function(done){
        //executing request in order to use that controller
    });
    it('should pass', function(){
        res.name.should.equal('newName');
    });
});

我使用 supertest mocha 进行此测试

提前致谢;]

0 个答案:

没有答案