我在我的 ReactJS 项目中使用 jest 和 istanbul 来编写测试用例并检查测试覆盖率。
如何确保使用预提交 Hook 来测试我已暂存到 git 的任何文件的覆盖率不会从提交前的当前值减少?
最佳答案
您应该查看 jest from here 的 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",
}
}
}
关于git - 如何运行 git pre-commit Hook 以强制暂存文件的测试覆盖率不会降低?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56805649/