定义

测试驱动开发(TDD,Test-Driven Development) 是一种先写测试、后写代码的敏捷开发方法,通过“红 → 绿 → 重构”三步循环来驱动功能实现,使代码质量更高、设计更清晰、Bug 更少。

TDD 是先写失败的测试,再写最少量代码让测试通过,最后重构代码,在保证测试仍然通过的前提下持续优化设计的开发方式。

TDD核心循环:Red->Green->Refactor

  • Red(写测试,测试失败):编写一个针对某个功能的单元测试,因为功能未实现,测试必然失败(Red)
  • Green(让测试通过):编写实现代码,不追求完美,只写最少代码让测试通过
  • Refactor(重构):优化代码结构、命名、抽象,确保测试仍全部通过,不改变对外行为

优势与价值

  • 减少 Bug:因为先写测试,功能未覆盖的场景立即暴露

  • 保证可维护性:持续的自动化测试确保重构安全

  • 让设计更清晰:写测试时你必须明确需求和 API

  • 降低回归成本:所有测试自动运行

  • 避免过度设计:你只写让测试通过所需最少代码

  • 适用于中大型后端项目、复杂逻辑、核心业务模块。