SuperAPI AI 工具集

test-quality-review

测试与质量

查看项目

更新于 10-16 08:19

技能介绍

用途

Test Quality Review 用于审计测试套件是否真正在测试东西,而不是单纯追求覆盖率数字。它关注测试的质量问题,例如没有断言的测试、断言过弱、被禁用或隐藏的测试、过度 mock,以及缺失的边界用例。该技能无需注册即可使用。

主要能力

该技能会查找测试文件(.test.、test.go、test.py、.spec.),逐个读取测试并标记以下质量异味:

  • 没有真正的断言:测试体调用了代码但从不断言,或只写 expect(true).toBe(true);只做快照但断言无实质意义;测试不可能失败(例如把值与自身比较)。
  • 弱断言:在确切值可知的情况下只写 assert result 或 expect(x).toBeTruthy();只断言状态码而不断言响应体,或只断言长度而不断言内容;在真正的契约是返回值时只断言“不抛出异常”。
  • 被禁用或隐藏:.skip、.only、xit、xdescribe、test.todo、被注释掉的测试;整个文件被 describe.skip。
  • 过度 mock:mock 了被测对象本身,导致测试只检查 mock;断言 mock 被调用,却从不验证结果是否正确。
  • 缺失边界用例:只有正常路径,没有针对存在空值、null、错误、边界情况的逻辑补充相应用例;易抖动倾向,例如硬编码 sleep、未受控的真实网络/时间/随机。

对每个发现的问题,它会给出文件与行号、为什么该测试弱,以及更强的断言写法。

使用方式

前置条件:无。纯 Claude Code,直接读取测试文件,不需要 MCP。

触发方式(自然语言):

  • “Review the quality of my tests”
  • “Are these tests actually testing anything?”
  • “Audit my test suite for weak tests”

工作流:先找到测试文件,再逐个读取并标记上述质量异味,最后输出审查结果。

输出示例结构:

Test Quality Review — 38 tests across 9 files

4 no-assertion · 6 weak · 2 skipped · 3 missing edge cases

No real assertion

  • tests/test_checkout.py:40 — calls process_order() but never asserts. Add: assert the order status == "complete" and total is computed right.

Weak assertions

  • cart.spec.ts:18 — expect(res.status).toBe(200) only. Also assert the cart body: item count, line totals, currency.

Disabled

  • auth.spec.ts:5 — describe.only(...) — the rest of the file isn't running in CI!
  • payments_test.go:60 — t.Skip("flaky") — fix or delete; don't ship dark.

Missing edge cases

  • validate.py happy path only — add empty input, oversized input, and bad-type cases.

适用场景

适用于需要审查现有测试套件质量、判断测试是否真正验证行为的场景,例如在代码审查或持续集成前检查测试有效性。

限制

资料未提供关于收费、价格、平台支持范围、具体效果或性能的说明。该技能依赖 Claude Code 环境运行,不需要 MCP。