我在ReactJS项目中使用jest和istanbul编写测试用例并检查测试范围。
如何确保使用预提交钩子来测试我暂存为git的任何文件的覆盖率,而不会使它在提交前的当前值下降?
答案 0 :(得分:1)
您应该查看笑话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",
}
}
}