用途:当测试覆盖率下降时,用该技能追踪是哪些改动导致,并推荐需要补充的测试。以 runbook 形式组织调查流程,激活命令为 /coverage-drop-investigator。
主要能力与流程:
- 测量当前覆盖率:npx jest --coverage --coverageReporters=json-summary,并用 cat coverage/coverage-summary.json | jq '.total' 查看汇总。
- 定位覆盖率下降时点:通过 git stash 与主分支对比,生成 baseline.json 后与当前报告比较语句覆盖率差值。
- 找出未覆盖文件:按 statements.pct 排序取最低的若干文件。
- 映射到近期改动:用 git diff --name-only main...HEAD 结合覆盖率报告,找出改动且覆盖率低的文件。
- 推荐测试:针对未覆盖函数、分支、行分别建议新增用例、条件用例,或识别死代码与缺失边界。
- 输出报告:包含当前覆盖率、基线、差值、导致下降的文件表及建议动作(补测试/接受下降/标记排除)。
组合使用:调查后可接 /qe-test-generation 生成测试、/mutation-testing 验证测试有效性、/coverage-guard 防止未来下降。
注意事项:覆盖率下降可能因新增代码无测试而非删除测试;不必追求 100%,应聚焦关键路径;分支覆盖率下降比行覆盖率更值得关注;生成代码或类型定义可能被计入,可用 coveragePathIgnorePatterns 排除。
限制:资料未提供具体支持的语言、框架版本、安装方式或收费信息。