我在我的 ReactJS 项目中使用 jest 和 istanbul 来编写测试用例并检查测试覆盖率。
如何确保使用预提交挂钩来测试我已暂存到 git 的任何文件的覆盖率不会从提交前的当前值减少?
我在我的 ReactJS 项目中使用 jest 和 istanbul 来编写测试用例并检查测试覆盖率。
如何确保使用预提交挂钩来测试我已暂存到 git 的任何文件的覆盖率不会从提交前的当前值减少?
您应该从这里查看 jest 的 coverageThreshold 文档
以下选项可用于全局覆盖阈值和文件名模式阈值。
{
...
"jest": {
"coverageThreshold": {
"global": {
"branches": 50,
"functions": 50,
"lines": 50,
"statements": 50
},
"./src/components/": {
"branches": 40,
"statements": 40
},
"./src/reducers/**/*.js": {
"statements": 90
},
"./src/api/very-important-module.js": {
"branches": 100,
"functions": 100,
"lines": 100,
"statements": 100
}
}
}
}
您可以将它与lint staged和husky结合起来进行预提交检查。
最后,您的 package.json 将如下所示:
{
...package.json
"husky": {
"hooks": {
"pre-commit": "jest",
}
}
}