Codecov 覆盖率分析器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/codecov-coverage-analyzer。
技能介绍
要解决的覆盖率分析难题
在 CI 流水线里,测试覆盖率常停留在整体百分比层面。一旦指标跌破阈值,很难快速定位哪些文件的新增代码缺乏测试,也难以判断当前 PR 对覆盖率的真实影响。手动筛选 diff、逐文件统计覆盖情况,在活跃仓库中既耗时又易出错。
技能如何工作
该技能通过 Codecov API v2 与 codecov-cli 上传器,按仓库维度获取细粒度数据:
- 通过
/api/v2/repos/{owner}/{repo}/report拉取每个文件的覆盖率,用于全量视图分析。 - 借助
/api/v2/repos/{owner}/{repo}/pulls/{pull}计算差异覆盖率,聚焦当前变更的测试覆盖情况。 - 在 CI 阶段强制执行可配置的阈值,当覆盖率不足时直接阻断合并。
适用边界与注意点
- GitHub 用户必须为组织安装 Codecov GitHub 应用,否则 Codecov 无法运行。
- 使用 Docker 测试时需注意构建与上传链路的兼容性。
- Python 项目的覆盖率采集需遵循 Codecov 的推荐配置,确保生成兼容格式的报告。
使用场景
- 在 CI 流水线中阻断合并前,需要检查当前 PR 的差异覆盖率是否达标,防止未测试的新代码进入主干。
- 需要拉取仓库各文件的覆盖率报告,用于在 Code Review 中指出哪些模块长期缺乏有效测试。
- 设置了可配置的覆盖率阈值后,想在 CI 中自动执行门禁,当整体或差异覆盖率低于下限时返回失败状态。
- 使用 Docker 跑测试后,需要将覆盖率结果上传到 Codecov,并通过 API v2 获取每个文件的覆盖数据。
适合人员
- 持续集成工程师:希望在合并前用差异覆盖率作为质量门禁,避免引入未测试代码。
- 后端开发工程师:需要在 Code Review 中快速定位新变更里缺少测试的文件。
- 质量保障工程师:负责配置并维护 CI 中的覆盖率阈值,确保每次提交都符合团队标准。
- Python 项目维护者:使用 Docker 运行测试并上传覆盖率,希望获得按文件粒度的报告用于改进测试。