NodeJS测试 - 暴露应用程序

时间:2013-11-06 14:49:58

标签: javascript node.js testing

我正在使用supertest测试我的NodeJS应用程序。在我的app.js结束时,我公开了我的应用程序,所以我可以在test.js中使用它。

///////////////////
// https options
var options = {
    key: fs.readFileSync("./private/keys/Server.key"),
    cert: fs.readFileSync("./private/certs/Server.crt"),
    ca: fs.readFileSync("./private/ca/CA.crt"),
    requestCert: true,
    rejectUnauthorized: false
};

///////////////////
// start https server
var server = https.createServer(options, app).listen(app.get("port"), function(){
    console.log('Server listening on port ' + app.get('port'));
});

exports = module.exports = server;


当我在test.js中需要我的服务器时,选项路径会导致错误,因为我的test.js位于./test/test.js目录中,而app.js位于./app.js中

我正在为这个问题找到一个干净的解决方案。

1 个答案:

答案 0 :(得分:0)

如果您将选项添加到模块中,则可以直接使用它,也可以使用rewiresandboxed-module

之类的内容将其存储在测试中

或者,您可以修改导出以接受选项作为参数,以便您可以将其作为参数使用,例如要求( '服务器')(配置)