运行 Create-React-App 测试不在观察模式
Run Create-React-App Tests not in Watch Mode
我有一个使用 Create-React-App 创建的项目。我希望将 precommit
挂钩添加到 运行 我们的 linter 并使用 pre-commit
包进行测试。
"pre-commit": [
"precommit-msg",
"lint",
"test"
],
但是,由于测试脚本 运行 默认处于监视模式,这会阻止提交实际发生。如何在预提交中添加不在 watch move 中的测试?
我通过在我的 package.json
文件中添加以下脚本找到了我的设置的解决方案。
"test:nowatch": "CI=true react-scripts-ts test --env=jsdom",
"pre-commit": [
"precommit-msg",
"lint",
"test:nowatch"
],
这来自以下线程:https://github.com/facebook/create-react-app/issues/2336
跨平台解决方案:
- 安装cross-env
- 将你的测试命令与这些道具一起使用:
"test:nowatch": "cross-env CI=true react-scripts test --env=jsdom --findRelatedTests"
您可以使用 --watchAll=false 参数。
因此,例如,您可以像这样创建另一个脚本:
"scripts": {
"test:nowatch": "react-scripts test --watchAll=false",
}
然后运行
"pre-commit": [
"precommit-msg",
"lint",
"test:nowatch"
],
像这样添加 CI=true
"test": "CI=true react-scripts test"
对我有用
我有一个使用 Create-React-App 创建的项目。我希望将 precommit
挂钩添加到 运行 我们的 linter 并使用 pre-commit
包进行测试。
"pre-commit": [
"precommit-msg",
"lint",
"test"
],
但是,由于测试脚本 运行 默认处于监视模式,这会阻止提交实际发生。如何在预提交中添加不在 watch move 中的测试?
我通过在我的 package.json
文件中添加以下脚本找到了我的设置的解决方案。
"test:nowatch": "CI=true react-scripts-ts test --env=jsdom",
"pre-commit": [
"precommit-msg",
"lint",
"test:nowatch"
],
这来自以下线程:https://github.com/facebook/create-react-app/issues/2336
跨平台解决方案:
- 安装cross-env
- 将你的测试命令与这些道具一起使用:
"test:nowatch": "cross-env CI=true react-scripts test --env=jsdom --findRelatedTests"
您可以使用 --watchAll=false 参数。 因此,例如,您可以像这样创建另一个脚本:
"scripts": {
"test:nowatch": "react-scripts test --watchAll=false",
}
然后运行
"pre-commit": [
"precommit-msg",
"lint",
"test:nowatch"
],
像这样添加 CI=true
"test": "CI=true react-scripts test"
对我有用