SuperAPI AI 工具集

coverage-guard

智能体与模型

查看项目

更新于 10-16 03:48

技能介绍

用途:在开发过程中防止测试覆盖率回退。激活后,每次测试执行(通过 Bash 工具)后检查覆盖率,若低于 config.json 中配置的阈值则发出警告,但不会阻断流程。

主要能力:比较测试覆盖率与阈值,覆盖语句、分支、函数、行等维度;通过 PostToolUse 钩子在匹配到 jest、vitest 或 npm test 命令后自动运行检查脚本。

使用方式:使用 /coverage-guard 激活。编辑技能目录下的 config.json 设置阈值,例如 statements 80、branches 70、functions 75、lines 80,并配置 coverageCommand 与 coverageFile。钩子配置中 matcher 为 Bash,hook 指向 scripts/check-coverage.sh,condition 为命令包含 jest、vitest 或 npm test。检查脚本读取 coverage/coverage-summary.json,用 jq 提取百分比并与阈值比较,低于阈值时输出警告。

适用场景:希望在开发中持续监控覆盖率、避免覆盖率下降的 JavaScript/TypeScript 项目,尤其是使用 Jest 或 Vitest 的测试流程。

限制与注意事项:覆盖率检查在测试命令之后运行,若测试崩溃则不会生成覆盖率报告;coverage-summary.json 必须配置为 reporter,默认 Jest 配置可能不包含;阈值比较使用浮点数,79.999% 会触发低于 80% 的警告;分支覆盖率通常比行覆盖率低 10-15%,应据此设置阈值。