nic*_*ick 5 environment-variables reactjs next.js
我正在尝试在不同的 NODE_ENV 中运行我的 cypress 集成测试。这样做的原因是因为我希望我的测试使用与开发中使用的 API 不同的 api。
目前我正在通过检查设置 api url NODE_ENV,然后以这种方式设置 url。
if(process.env.NODE_ENV === 'development') {
BASE_URL = 'http://localhost:3001'
} else {
BASE_URL = 'https://api.example.com'
}
Run Code Online (Sandbox Code Playgroud)
当我启动 Next 服务器进行 cypress 测试时,我设置 NODE_ENV 进行测试。
"ci:start": "set NODE_ENV='test' & next start",
"ci": "cypress run"
Run Code Online (Sandbox Code Playgroud)
即使设置后NODE_ENV,它也始终显示为“应用程序内部开发”。
我还查看了文档并按照其中的说明进行操作。它说:
当使用 jest 或 cypress 等工具运行测试时,您只需要设置特定的环境变量以用于测试目的。如果 NODE_ENV 设置为 test,则将加载测试默认值。
然而,情况并非如此,因为 .env.local 仍在加载并且NODE_ENV不会改变。
任何帮助将不胜感激,谢谢。
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |