什么是 TDD
TDD(Test-Driven Development,测试驱动开发)的原理是在开发功能代码之前,先编写单元测试代码,测试代码确定需要编写什么样的产品代码。
TDD 的基本思路是通过测试推动整个开发的进行。但是 TDD 的重要目的不仅仅是测试软件,还包括:
- 在开发过程中,通过实例化需求的方式,帮助需求方和开发人员澄清需求细节
- 覆盖完全的单元测试,对产品代码提供了一个保护网,让我们可以轻松地迎接需求变化或改善代码的设计
等。
TDD 的基本流程

- Red:编写单元测试。只关注需求,程序的输入输出,不关心中间过程
- Green:写代码。不考虑其它需求,用最简单的方式满足当前需求即可
- Refactor:重构。消除代码里的“坏味道”
TDD 的原则
以下内容来源于:https://baike.baidu.com/item/TDD/9064369
- 独立测试:不同代码的测试应该相互独立,一个类对应一个测试类,一个函数对应一个测试函数。用例也应各自独立,每个用例不能使用其他用例的结果数据
- 测试列表:添加功能时,应先把相关功能点加到测试列表,避免疏漏
- 先写断言:编写测试代码时,应该首先编写判断代码功能的断言语句,然后编写必要的辅助语句
- 可测试性:每个代码单元的职责应该单一
- 及时重构:对结构不合理、重复等“味道”不好的代码,在测试通过后,应及时进行重构
- 小步向前:小步前进是降低复杂性的好办法