SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-15 22:38

技能介绍

用途:提供与框架、语言、仓库无关的通用 TDD 原则,用于指导编写以行为为中心的测试。具体测试工具、命令与约定需从项目配置、贡献指南、现有测试文件、CI/CD 配置及仓库级 AI 技能或规则中发现并遵循。

核心原则:测试通过公共接口验证行为,而非实现细节。代码可以完全重写,只要行为未变,测试就不应失败。好测试像规格说明,描述系统做什么而非怎么做,能经受重构;坏测试耦合实现,如 Mock 内部协作者、测试私有方法、通过外部手段(如直接查数据库)验证。危险信号包括:Mock 内部协作者、测试私有方法、断言调用次数或顺序、重构后行为未变却失败、测试名描述“如何做”而非“能做什么”。

Mock 策略:只在系统边界 Mock,如外部 API、数据库(有时,优先用测试数据库)、时间/随机性、文件系统(有时)。不要 Mock 自己控制的模块或内部协作者;若必须 Mock 内部模块才能测试,说明接口设计需要改进。边界依赖应可注入以便 Mock。

垂直切片:不要先写全部测试再写全部实现(水平切片),那会产生弱测试。正确做法是垂直切片,用曳光弹:先写一个测试证明一条路径端到端可用,RED 失败后写最小代码使其 GREEN 通过,再逐个增量添加行为。规则:一次一个测试;只写足够通过当前测试的代码;不为未来测试做预设;测试聚焦可观察行为;RED 状态下不要重构,先到 GREEN。

每轮检查清单:测试描述行为而非实现;只用公共接口;能经受内部重构;代码对当前测试最小化;不添加投机性功能。

限制:资料未提供具体安装命令、收费、平台或效果信息。