用途:基于行为驱动测试原则静态检测测试代码中的反模式,帮助提升可维护性。目标文件为 .test.、.spec.、test_、_test.*,默认扫描整个项目;若 CLAUDE.md 指定测试目录则以该路径优先。
五类检测(严重级别均为 WARN):1) 模糊测试名,如 test_1、test_it_works、it('works');2) 实现细节测试,如 .call_count、.assert_called_once_with、.toHaveBeenCalledTimes;3) 单函数内 Mock 达 4 个及以上;4) 共享全局状态,如模块级 new 实例、shared_ 前缀变量、顶层 global;5) 单元测试中的数据库依赖,如 db.query、prisma.、mongoose.connect,文件名含 integration、e2e、integ 的集成测试会被排除。
执行方式:Glob 收集测试文件;类别 1、2、5 用 Grep 逐模式扫描,类别 3、4 读取文件按函数统计并在模块级检测实例创建;随后按类别分组输出表格。必须先输出测试验证矩阵,每个类别都扫描后再生成报告。报告为 Markdown 表格,包含 File:Line、Type、Description,并统计各类问题数量。
输出持久化:写入 .ww-w-ai/devtools/validate-tests/ 下 latest.json(遵循 schema.json)、latest.md(遵循 report.template.md),并归档到 history/{timestamp}.json;JSON 字段名保持英文,latest.md 使用用户对话语言。目录不存在时用 mkdir -p 创建。
适用场景:代码评审前、测试套件重构或质量巡检时快速定位测试坏味道。
限制:仅静态扫描,不运行测试;实现细节检测可能产生误报,结果仅作参考;旧代码中的变更检测测试按 testing.md 例外临时允许,文件或目录含 legacy、migration、compat 时标注。验证为只读,不修改项目源文件,Bash 仅用于只读查询和创建目录。