在运行 npm test 时,是否需要在 test 命令的开头放置“CI=true”?

mon*_*bby 5 testing npm package.json react-scripts npm-scripts

我的 package.json 包含

    "scripts": {
        "test": "CI=true react-scripts test --env=jsdom"
       }
Run Code Online (Sandbox Code Playgroud)

如果我将代码重写为有什么区别

    "scripts": {
      "test": "react-scripts test --env=jsdom CI=true"
    }
Run Code Online (Sandbox Code Playgroud)

构建时单元测试会失败吗?

小智 0

行开头的 CI=true 是一种仅为同一行上的命令设置环境变量的方法。

如果您在 CLI 上运行它,这也可以工作:

export CI=true
react-scripts test
Run Code Online (Sandbox Code Playgroud)

但以下所有命令也将设置“CI”环境变量。为了避免这种情况,你可以将其写在同一行中:

CI=true react-scripts test
Run Code Online (Sandbox Code Playgroud)

但是如果你把 CI=true 放在最后,它将作为参数传递给react-scripts命令,这很可能会被忽略。

在所有这些示例中,react-scripts是执行的命令,即使它不是行中的第一个单词!