测试驱动开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/test-driven-development-sh-wndo5b 技能。
技能介绍
为什么需要测试驱动开发
当代码库缺乏有效测试时,任何功能变更都像是在黑暗中摸索。开发者(或AI代理)无法快速验证逻辑正确性,重构时如履薄冰,bug修复可能引入新问题。测试不是形式,而是可执行的文档与安全网——它能证明"这段代码确实实现了预期行为",而非依赖主观判断。
技能如何工作
该技能将测试驱动开发(TDD)的核心流程标准化,适用于任何技术栈。核心步骤包括:
- 发现项目工具链:优先识别仓库已有的测试命令(如
./gradlew test、make test),而非假设默认命令(如npm test)。通过检查package.json、pom.xml、pyproject.toml等配置文件,适配Java、Python、Go等语言的构建系统。 - 执行红绿循环:
1. RED:先编写一个因功能未实现而失败的测试(如describe('createTask', () => { it('should add task to list', ...) }))
2. GREEN:实现最小代码量让测试通过
3. 重构:优化代码结构,确保测试仍全绿
- 验证步骤:每次循环运行聚焦测试(如单个测试用例),完成前运行全量测试套件,确保无回归。
适用边界与注意点
- 适用场景:新功能开发、bug修复(先复现bug再修复)、既有功能修改、边界条件处理等涉及代码行为变更的场景。
- 不适用场景:纯配置文件修改(如调整
.env)、文档更新、无行为影响的静态内容调整。 - 工具适配:强制使用项目内置工具链(如Maven的
mvnw而非全局安装的Maven),避免因工具不一致导致流程断裂。
使用场景
- 修复新发现的bug时,先编写可复现该bug的失败测试
- 开发新功能模块前,先编写针对预期行为的测试用例
- 重构既有业务逻辑前,先补充覆盖当前行为的测试保障
- 修改现有功能时,先编写测试确保改动不破坏原有行为
适合人员
- 需处理复杂业务逻辑的软件工程师,希望用测试驱动功能迭代
- 独立开发者需要确保代码重构时不会引入隐蔽bug
- AI代理开发者希望通过标准化测试流程提升代码可靠性
- 技术团队负责人希望建立可验证的代码提交标准