我有一个react项目发布到GitHub,并试图设置GitHub的动作。
我想添加一个步骤来检查单元测试覆盖率是否通过65%(必须通过它才能成功地通过CI/CD过程)。
这是我尝试过的:
build:
name: Test
steps:
- name: Coverage
run: npm run jest-coverage
我需要以下方面的帮助:
- 如何检查覆盖率是否超过65%?
- 如果覆盖率低于65%,如何使工艺失败?
- 我怎么能让它重新运行它每当有一个新的提交?
假设您的npm脚本jest-coverage
运行jest时启用了覆盖
要求65%的测试覆盖率可以通过jest配置coverageThreshold来实现。
添加到您的jest.config.js
:
{
...
"jest": {
"coverageThreshold": {
"global": {
"branches": 65,
"functions": 65,
"lines": 65,
"statements": 65
}
}
}
}
至于在新代码被推送时重新运行您的作业,您想要触发push
上的工作流,如下所示:
on: push
jobs:
...
根据你如何处理分支和拉取请求,push
也可以用pull_request
代替。