设置react-scripts测试环境文件

Set react-scripts test environment file

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

然而,在我们的 CircleCI 环境中,我们希望 运行 使用开发环境进行测试,即使用 .env.development。我不知道如何告诉 react-scripts 使用 dev env 文件,我尝试在 运行 执行 REACT_APP_ENVNODE_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