with one click
coverage-reporting
测试覆盖率收集和报告时使用。适用于覆盖率目标设定、CI 集成、PR 评论、趋势跟踪。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
测试覆盖率收集和报告时使用。适用于覆盖率目标设定、CI 集成、PR 评论、趋势跟踪。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
设计 API 认证鉴权和权限矩阵时使用。适用于多角色系统、租户隔离、字段级权限。优先使用 OAuth 2.0 / JWT + RBAC + 资源归属检查。
设计具体 API 端点时使用。适用于资源建模后的下一步、列端点清单、HTTP 方法和状态码选择。优先使用 RFC 7231 HTTP 语义 + GitHub REST 命名规范。
设计 API 错误码和错误结构时使用。适用于错误响应规范、调用方错误处理、调试可观测。优先使用 RFC 7807 Problem Details + 业务错误码 + 调用方处理建议。
设计幂等接口和重试策略时使用。适用于支付、扣减、订单、关键写操作。优先使用 Idempotency-Key + 业务去重键 + 并发冲突处理(ETag/版本号)。
输出 OpenAPI 契约和 Mock 服务时使用。适用于 API 设计的最后一步、给前端/后端/QA 的交付。优先使用 OpenAPI 3.1 + Mock 数据覆盖所有路径 + 详细的下游交接清单。
设计列表接口的分页、筛选、排序、搜索时使用。适用于所有列表 API。优先使用 cursor 分页(大数据)或 offset 分页(小数据)+ 统一筛选/排序规范。
| name | coverage-reporting |
| description | 测试覆盖率收集和报告时使用。适用于覆盖率目标设定、CI 集成、PR 评论、趋势跟踪。 |
1. 覆盖率是基线不是目标
80% 覆盖率 ≠ 80% 质量
2. 关注增量覆盖率
新代码 ≥ 80%,比总覆盖率更有意义
3. 不追求 100%
getter / setter / 配置不需要测
4. 分层看
业务逻辑 ≥ 90%
Controller ≥ 60%
工具函数 ≥ 80%
5. 趋势比绝对值重要
覆盖率不能下降
| 工具 | 语言 | 用途 |
|---|---|---|
| Codecov | 多语言 | SaaS 报告 + PR 评论 |
| Coveralls | 多语言 | SaaS 报告 |
| SonarQube | 多语言 | 自建 + 质量门禁 |
| Istanbul / c8 | JS/TS | 收集器 |
| JaCoCo | Java | 收集器 |
| coverage.py | Python | 收集器 |
| go test -cover | Go | 内置 |
| 层 | 目标 | 说明 |
|---|---|---|
| Domain / Service | ≥ 90% | 核心业务 |
| Controller | ≥ 60% | 集成测试覆盖 |
| Utils | ≥ 80% | 工具函数 |
| 总体 | ≥ 70% | 基线 |
| 增量(新代码) | ≥ 80% | PR 门禁 |
# Vitest 覆盖率
- run: pnpm test:coverage
- uses: codecov/codecov-action@v4
with:
files: coverage/lcov.info
fail_ci_if_error: true
# 门禁:覆盖率不能下降
- name: Coverage check
run: |
COVERAGE=$(cat coverage/coverage-summary.json | jq '.total.lines.pct')
if (( $(echo "$COVERAGE < 70" | bc -l) )); then
echo "Coverage below threshold: $COVERAGE%"
exit 1
fi
templates/coverage-config-template.md — 覆盖率配置 + 目标 + CI□ 覆盖率目标设定
□ CI 自动收集
□ PR 评论(增量)
□ 门禁(不能下降)
□ 趋势跟踪
□ 分层目标
□ 不追求 100%
上游:
unit/integration/e2e → 测试代码产生覆盖率
下游:
ci-test-integration → CI 收集
qa-engineer quality-gate → 门禁条件