SuperAPI AI 工具集

test-coverage

测试与质量

查看项目

更新于 10-16 05:02

技能介绍

用途:为 Flows 应用修复测试覆盖率,满足审批所需的 80% 行覆盖率硬性门槛。该技能既查找又修复覆盖率缺口,按步骤执行:可将脚本参数指向特定文件,未给参数时处理整个应用。

主要能力与用法:

  1. 验证测试框架与覆盖率工具。用 grep 检查 package.json 中的 vitest/jest,查看 vitest.config.ts/js 或 jest.config.ts/js 是否含 coverage 配置与报告器(至少 text 和 lcov 或 json-summary)。未配置时安装提供器,如 pnpm add -D @vitest/coverage-v8,并在 test 内添加 coverage 段,provider 为 v8,reporter 含 text、text-summary、lcov,include 为 src/**/*.{ts,tsx},exclude 仅测试文件、vite-env.d.ts 和 src/main.tsx。
  2. 校验覆盖率范围:80% 阈值适用于 src/ 下所有 .ts/.tsx,排除项仅限测试文件、类型声明和入口 main.tsx;不得排除 pages、components、hooks 等生产代码。
  3. 运行测试并收集覆盖率:npx vitest run --coverage 或 npx jest --coverage 或 npm test -- --coverage,记录行、分支、函数、语句覆盖率;测试失败需先修复导入、mock、快照、依赖或配置问题。
  4. 查找并补写缺失测试文件:遍历生产文件检查是否存在同目录或 tests 中的测试;对服务、hooks、工具、上下文、ViewModel 等编写测试,覆盖成功、错误、空状态与边界;纯展示组件、桶导出、仅类型文件可标为 N/A。
  5. 修复低覆盖文件:解析 lcov 或 coverage-summary.json,列出低于 80% 的文件,针对未覆盖的错误路径、分支、函数和 catch 块补测试,重复运行直到达标。
  6. 修复可测试性模式:检查上下文注入、vi.mock、as unknown as 强转、接口实现等,通过添加上下文、抽取接口、抽取 ViewModel hook 等方式重构并同步更新测试。
  7. 报告剩余缺口:重新运行全量覆盖,汇总修复前后行/分支/函数/语句数据与 PASS/FAIL 结论,列出已修项与需人工审查的复杂逻辑、集成测试或需重大架构调整的文件。

限制:本技能面向使用 Vitest 或 Jest 的 Flows 应用;具体命令与配置以项目实际为准。资料未提供价格、平台支持范围或与其他工具集成的说明。