运行 非交互模式下的 CRA Jest
Running CRA Jest in non-interactive mode
更新:我的用例主要是 运行 在 CI 进行测试,但覆盖默认的 CRA Jest 参数是我通常想知道的事情。
我正在 运行 使用 Jest, config that came with Create React App 进行测试。它始终以交互模式启动:
› Press a to run all tests.
› Press o to only run tests related to changed files.
› Press p to filter by a filename regex pattern.
› Press q to quit watch mode.
› Press Enter to trigger a test run.
但我不希望它等待我的输入。我希望它 运行 一次然后终止。我尝试使用 --bail
或 --no-watchman
开关,但它仍然以交互模式启动。
如果我全局安装 jest
,并且 运行 它在我的项目的根目录下,它执行一次并完成(正如我想要的)。但是当我 运行 npm test
which 运行s react-scripts test
时,即使我没有通过 --watch
.
它也会进入监视模式
更新:我还在 CRA 上提交了一个问题。
你应该使用 Jests --watchAll=false
flag.
例如:
npm test -- --watchAll=false
注意:这是为了react-scripts > 3.00
旧版本:
- 反应脚本
>= 2.1.4 < 3.00
对于非ci,例如运行ning本地测试,你可以传递一个--no-watch
标志:
npm test --no-watch
- 反应脚本
<= 2.1.3
CRA 查找 CI
环境变量,如果它存在,则在监视模式下 运行 不存在。
CI=true npm test
应该能满足您的需求
在您的 package.json
脚本中:
"test": "react-scripts test --watchAll=false"
或npm test -- --watchAll=false
或yarn test --watchAll=false
注:flag在react-scripts < 3.0
中曾被称为--no-watch
:https://github.com/facebook/create-react-app/blob/3.x/CHANGELOG.md#remove---no-watch-flag
非交互式解决方案:
npm test a --watchAll=false
或
yarn test a --watchAll=false
更新:我的用例主要是 运行 在 CI 进行测试,但覆盖默认的 CRA Jest 参数是我通常想知道的事情。
我正在 运行 使用 Jest, config that came with Create React App 进行测试。它始终以交互模式启动:
› Press a to run all tests.
› Press o to only run tests related to changed files.
› Press p to filter by a filename regex pattern.
› Press q to quit watch mode.
› Press Enter to trigger a test run.
但我不希望它等待我的输入。我希望它 运行 一次然后终止。我尝试使用 --bail
或 --no-watchman
开关,但它仍然以交互模式启动。
如果我全局安装 jest
,并且 运行 它在我的项目的根目录下,它执行一次并完成(正如我想要的)。但是当我 运行 npm test
which 运行s react-scripts test
时,即使我没有通过 --watch
.
更新:我还在 CRA 上提交了一个问题。
你应该使用 Jests --watchAll=false
flag.
例如:
npm test -- --watchAll=false
注意:这是为了react-scripts > 3.00
旧版本:
- 反应脚本
>= 2.1.4 < 3.00
对于非ci,例如运行ning本地测试,你可以传递一个--no-watch
标志:
npm test --no-watch
- 反应脚本
<= 2.1.3
CRA 查找 CI
环境变量,如果它存在,则在监视模式下 运行 不存在。
CI=true npm test
应该能满足您的需求
在您的 package.json
脚本中:
"test": "react-scripts test --watchAll=false"
或npm test -- --watchAll=false
或yarn test --watchAll=false
注:flag在react-scripts < 3.0
中曾被称为--no-watch
:https://github.com/facebook/create-react-app/blob/3.x/CHANGELOG.md#remove---no-watch-flag
非交互式解决方案:
npm test a --watchAll=false
或
yarn test a --watchAll=false