.claude/skills/test-cleaner/SKILL.md
测试清理技能,用于分析并清理超出测试范围或低价值的测试用例
npx skillsauth add shenjingnan/xiaozhi-client test-cleanerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
我是一个测试清理专家,专门分析并清理超出测试职责范围或低价值的测试用例。
当你需要清理测试用例时,我会:
使用格式:/test-cleanup [路径]
示例:
/test-cleanup - 分析整个项目的测试文件/test-cleanup apps/backend/handlers - 分析特定模块/test-cleanup apps/backend/handlers/__tests__/mcp-manage.handler.test.ts - 分析特定文件*.test.ts 文件严重问题(应立即删除):
警告问题(建议删除或重构):
建议优化(可选改进):
过度 Mock:
# 测试用例清理分析报告
## 分析范围
- 路径: `<指定路径>`
- 测试文件数: X
- 问题用例数: Y
## 严重问题(应删除)
### 文件: apps/backend/handlers/__tests__/mcp-manage.handler.test.ts
#### 问题: 超纲测试 - 重复测试 TypeFieldNormalizer
- **位置**: 第 45-67 行
- **问题**: 测试了外部依赖中已完整覆盖的单元功能
- **建议**: 删除这些测试用例
## 清理总结
- 可删除测试用例: X 个
- 可优化测试用例: Y 个
如果用户确认,执行以下操作:
# 创建备份分支
git checkout -b test-cleanup-backup-$(date +%Y%m%d)
# 删除问题测试
# 根据报告中的位置信息,删除超出范围的测试用例
# 验证测试
pnpm test <指定路径>
# 生成覆盖率报告
pnpm test:coverage
# 如果清理导致问题,可以回滚
git checkout main
git branch -D test-cleanup-backup-$(date +%Y%m%d)
问题代码:
// ❌ 超纲测试
import { normalizeTypeField } from "@/lib/mcp-core/utils/type-field-normalizer";
describe("MCPManageHandler", () => {
describe("normalizeTypeField", () => {
it("应该正确处理 null 类型字段", () => {
// 这是工具函数的单元测试,不应该在 handler 测试中
});
});
});
清理建议:
// ✅ 正确范围
describe("MCPManageHandler", () => {
describe("handleListTools", () => {
it("应该正确调用 normalizeTypeField 处理工具定义", () => {
// 验证 handler 在业务场景中正确使用了外部依赖
});
});
});
# 类型检查
pnpm typecheck
# 代码规范检查
pnpm lint
# 运行测试
pnpm test
# 生成覆盖率报告
pnpm test:coverage
development
TypeScript严格模式检查
tools
Todo 管理技能,用于管理架构演进过程中的待办事项
testing
测试修复技能,用于分析和修复失败的测试用例
testing
测试创建技能,用于生成符合项目标准的测试用例