我在 hapi 服务器启动之前添加了一些配置值。应用程序运行良好,尽管在测试中我不能使用 config.get()。我可以使用proxyquire。所以我想知道
- “动态”添加配置文件是不好的设计吗?
- 有没有办法可以在这种情况下使用 config.get() ?
任何替代方法?
//initialize.js const config = require('config'); async function startServe() { const someConfigVal = await callAPIToGetSomeJSONObject(); config.dynamicValue = someConfigVal; server.start(); } //doSomething.js const config = require('config'); function doesWork() { const valFromConfig = config.dynamicValue.X; // In test I can use proxiquire by creating config object ... } function doesNotWork() { const valFromConfig = config.get('dynamicValue.X'); // Does not work with sinon mocking as this value does not exist in config when test run. // sinon.stub(config, 'get').withArgs('dynamicValue.X').returns(someVal); ..... }