我尝试使用dotenv来允许我为集成测试设置一些环境变量。我不想从mocha cli脚本中指定环境变量。我希望将它们定义在其他地方,例如test.js文件本身(最好)或.env文件中。
我尝试运行这些不基于create-react-app内部网站环境的测试。我想我可以像下面一样添加dotenv,但它没有工作:
require('dotenv')
describe('some description', () => {
let { env } = process
it.only('creates an environment', async () => {
const options = {
branch: env.FAKE_BRANCH
}
const result = await deploy(options)
expect(result.success).to.be.true
})
})
运行时, env.FAKE_BRANCH
未定义。我在create-react-app项目的根目录中有一个.env文件,但由于反应创建应用程序在幕后做了一些奇怪的事情,它可能无法找到它。
我尝试将.env文件移动到包含这些spec.js文件的文件夹中,但也没有运气。
答案 0 :(得分:0)
您可能需要先在dotenv模块上调用config
:
require('dotenv').config();
看起来上面的代码中缺少额外的调用。
替代方案可以创建一个设置函数,完全在测试中创建一个模拟环境。