上一部分我们介绍了单元测试,并列举了单元测试的好处。这一部分我们介绍极限编程的核心实践——测试驱动开发(Test-Driven Test,简称TDD)。从做法来看:
TDD = Test First + Refactor
测试驱动开发 = 测试先行 + 重构
TDD要求先写好单元测试,然后再编写能够通过测试的(可能脏乱差)产品代码,最后再重构产品代码使其更加简洁。
TDD是Kent Beck开创的极限编程(Extreme Programming)这种敏捷方法论的核心实践之一。
1. TDD的目标:Clean code that works
极限编程、JUnit和TDD的创始人Kent Beck在他著名的《Test-Driven Development by Example》一书中,开宗明义地提出:
代码简洁可用(Clean code that works)这句言简意赅的话,正是 TDD 所追求的目标。
这句话说明,对于编码来说,有两个目标&#x