当运行命令“NPM运行测试”时,NPM运行我的所有单元测试,但它显示需要用户输入的“手表使用”对话框。
我希望能够运行“NPM运行测试”作为构建过程的一部分,所以我希望能够跳过这个“监视使用”对话框。我已经尝试过使用--forceExit,它不会改变任何东西。
在没有此对话框的情况下,是否可以使用任何命令行参数来启动“NPM运行测试”?或者,我可以在package.json的scripts部分添加一些东西,这会导致这个对话框无法显示吗?
package.json的脚本部分:
"scripts": {
"start": "node node_modules/react-scripts/bin/react-scripts.js start",
"build": "node node_modules/react-scripts/bin/react-scripts.js build",
"test": "node node_modules/react-scripts/bin/react-scripts.js test --env=jsdom",
"test-coverage": "npm test -- --coverage",
"test-json": "npm test -- --coverage --json",
"eject": "node node_modules/react-scripts/bin/react-scripts.js eject",
"flow": "node node_modules/flow-bin/vendor/flow",
"flow-coverage": "node node_modules/flow-coverage-report/bin/flow-coverage-report.js",
"flow-coverage-report": "if process.platform === 'win32'; then start ./flow-coverage/index.html; else open ./flow-coverage/index.html; fi",
"flow-json": "node node_modules/flow-bin/vendor/flow --json",
"flow-stop": "node node_modules/flow-bin/vendor/flow stop"
}
上述对话框:
Watch usage
> Press u to update failing snapshots.
> Press p to filter by a filename regex pattern.
> Press t to filter by a test name regex pattern.
> Press q to quit watch mode.
> Press Enter to trigger a test run.
答案 0 :(得分:1)
Aswear表单Sandeep P
在Linux(Docker)上对我有效,而在Windows计算机上失败。
看起来像是在Windows上使用了cmd
。
在Windows上使用此命令可以达到预期的效果:
set CI=true
npm test --watch=all
package.json
的这种修改也完成了工作:
"scripts": {
"test": "react-scripts test",
"test-once": "CI=true react-scripts test --watch=all",
"test-once-win": "set CI=true && react-scripts test --watch=all",
},
答案 1 :(得分:0)
我已经找到了一种方法来禁用Jest作为“NPM测试”运行时的监视模式。当运行package.json的脚本部分中列出的测试覆盖时,jest不会以监视模式启动,而是覆盖覆盖。
这不完全是我想要的,但至少我可以用它来运行“NPM run test-coverage”作为我的构建解决方案的一部分。
答案 2 :(得分:0)
"test": "CI=true react-scripts test --watch=all",
这对我有用
答案 3 :(得分:0)
在test.js中设置process.env.CI = true
对我有用。