实验室& getConfig集成

时间:2015-01-25 15:03:47

标签: node.js server config hapijs lab

我试图将get与getConfig一起使用,但我总是收到错误。

在实验室中,我需要服务器,但在搜索配置文件时,它会查看node_modules / lab / bin / test_config.json,而不是在根文件夹中查找test_config。

有没有办法使用getConfig将配置文件传递给实验室?

这是我正在做的事情的片段:

//In the testFile.js
var Lab = require("lab");
var server = require("../index");
(...)

//In index.js
(...)
var config = require('getconfig');
(...)
var server = new Hapi.Server();
server.connection({
  host: config.http.listen,
  port: config.http.port
});
(...)

这就是错误抛出:

/index.js:12
host: Cannot read property 'listen' of undefined

1 个答案:

答案 0 :(得分:2)

您可以使用GETCONFIG_ROOT环境变量。来自documentation

  

在某些情况下,当您的应用未直接运行时(例如测试运行者),getconfig可能无法正确查找您的配置文件。在这种情况下,您可以将GETCONFIG_ROOT环境变量设置为您的配置所在的目录。

所以像这样运行你的测试:

GETCONFIG_ROOT="/path/to/root" make test