工程开发
testing-anti-patterns
执行高质量测试实践,识别并防止常见反模式,如测试 Mock 行为、生产代码中的测试专用方法以及对依赖项理解不足的 Mock 方式。
简介
此技能作为软件测试的质量守门员,专门协助开发人员与 AI 代理避免可能降低测试可靠性与代码可维护性的常见陷阱。它适用于任何编写、维护或审查自动化测试的工程师,特别是在使用 Jest、Vitest 或基于 TypeScript 的测试执行环境中。通过遵守这些“铁律”,用户可以确保测试套件验证的是实际的应用程序逻辑,而非脆弱的实现细节。本技能提供了明确的关卡检查功能,指导测试过程中的决策,确保 Mock 被用于隔离目标,而非成为断言的对象。
-
检测并防止测试 Mock 行为,转而测试真实的系统功能。
-
消除在生产类中污染测试专用方法的做法,促进更清晰的关注点分离。
-
为理解与 Mock 依赖项提供强健框架,防止因不完整的 Mock 响应导致的静默失败。
-
实现算法检查功能,在将 Mock 引入测试套件前评估其必要性与正确性。
-
支持应用严格的测试驱动开发 (TDD) 原则,以避免常见的测试反模式。
-
每当您在撰写新的单元或集成测试、重构复杂代码,或发现严重依赖 Mock 的测试不稳定时,请使用此技能。
-
在对 Mock 对象进行断言前,请根据本技能的逻辑验证其合理性:如果测试仅检查 Mock 是否存在,则应删除或重构该断言。
-
对于生产代码清理,应识别测试专用的方法并将其迁移至外部工具文件,以保持生产 API 的精简与安全。
-
务必确保 Mock 完整对应真实 API 响应的数据结构,以避免造成下游代码崩溃的结构性假设。
-
若测试因复杂的副作用而失败,请使用关卡检查功能确认是否在错误层级进行 Mock,并据此调整测试替身 (Test Doubles)。
仓库统计
- Star 数
- 16
- Fork 数
- 0
- Open Issue 数
- 0
- 主要语言
- Shell
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年5月1日 08:12