SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-15 20:35

技能介绍

用途:该技能用于测试驱动开发(TDD),在用户希望构建功能或修复缺陷时,按红-绿-重构循环推进。核心理念是测试通过公共接口验证行为,而非实现细节;代码可整体改变,测试不应随之改变。

主要能力:提供框架无关的 TDD 工作流,适用于 Vitest、Jest、Playwright、Cypress、pytest、JUnit 等测试框架,以及 Vue.js、React、Node.js、后端服务等技术栈。强调编写集成风格的好测试:通过公共 API 走真实代码路径,描述系统做什么而非怎么做,测试读起来像规格说明,并能经受重构。

使用方式:工作流分四步。1)规划:写代码前与用户确认接口变更、要测试的行为(需排优先级)、识别深模块机会、设计可测试接口、列出行为清单并获用户批准。2)曳光弹:写一个测试确认一件事,先 RED 失败,再写最小代码使其 GREEN 通过。3)增量循环:对每个剩余行为逐一 RED→GREEN,只写通过当前测试所需的代码,不预判未来测试。4)重构:全部测试通过后,提取重复、深化模块、应用 SOLID 原则,每步重构后运行测试;绝不在 RED 状态重构。

适用场景:需要以可验证行为驱动开发的功能构建与缺陷修复,尤其适合希望测试稳定、可读、抗重构的项目。

限制与反模式:不要先写全部测试再写全部实现(水平切片),这会产生测试想象行为、测试形状而非用户行为的问题。正确做法是垂直切片,一次一个测试、一个实现。每个循环需检查:测试描述行为而非实现、只用公共接口、能经受内部重构、代码对当前测试最小、不添加投机性功能。资料未提供具体安装命令或收费信息。