1

我们react-scripts通过命令来运行我们的测试react-scripts test。在本地,我们有自己的测试环境,并使用该.env.test文件作为环境文件(它会自动使用它)。

但是,在我们的 CircleCI 环境中,我们希望使用开发环境运行测试,即使用.env.development. 我不知道如何告诉react-scripts使用 dev env 文件,我已经尝试在运行命令之前设置各种值REACT_APP_ENVNODE_ENV. 我尝试使用env-cmd模块来指定它使用 dev env 文件(例如env-cmd .env.development react-scripts test),但它仍然使用测试文件。

我知道在 CircleCI 测试命令中,我可以用 dev 文件覆盖测试 env 文件(类似于cp -rf .env.development .env.test && react-scripts test),但我想知道是否有更清洁的方法(因为如果我这样做,如果我们想要在本地使用开发环境进行测试,它会覆盖我们的个人.env.test文件)?

4

1 回答 1

2

您唯一需要做的就是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

于 2020-03-10T13:26:28.683 回答