我们正在使用react-scripts
通过命令 react-scripts test
运行我们的测试。本地我们有自己的测试环境,使用.env.test
文件作为环境文件(它自动使用它)。
但是,在我们的 CircleCI 环境中,我们希望使用开发环境运行测试,即使用 .env.development
。我不知道如何分辨react-scripts
要使用 dev env 文件,我在运行命令之前尝试设置各种值,如 REACT_APP_ENV
和NODE_ENV
。我尝试过使用 env-cmd模块指定它使用开发环境文件(例如 env-cmd .env.development react-scripts test
),但它仍然使用测试文件。
我知道在 CircleCI 测试命令中我可以用开发文件覆盖测试环境文件(类似于 cp -rf .env.development .env.test && react-scripts test
),但我想知道是否有一种更干净的方法来做到这一点(因为如果我这样做的话这样,如果我们想在本地使用开发环境进行测试,它会覆盖我们个人的 .env.test
文件)?
最佳答案
您唯一需要做的就是通过添加以下内容来修改 react-scripts test
命令:
--env=jsdom
所以最终的结果是
// package.json
{
"scripts": {
...
"test": "react-scripts test --env=jsdom"
...
}
}
https://serverless-stack.com/chapters/environments-in-create-react-app.html
关于reactjs - 设置react-scripts测试环境文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55895982/