工程开发
testing-anti-patterns avatar

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
在 GitHub 查看