我正在为Express应用设置测试。我必须在一个环境中运行所有测试,但是最后一个我要更改环境变量并重新加载服务器的测试。
在要更改环境变量的测试中,我将这段代码放在了摩卡测试的代码块之前。然后,我以编程方式更改了env文件,以便服务器在不同的环境下启动。
before( function () {
delete require.cache[require.resolve('../server')];
var parsedFile = envfile.parseFileSync(sourcePath);
parsedFile.WINDOWMS = '5000';
parsedFile.MAX = '3';
fs.writeFileSync('.env.development', envfile.stringifySync(parsedFile).trim());
app = require('../server');
request = chai.request.agent(app);
});
env文件已更改,但服务器使用相同的旧env变量启动。