主要内容:
- 开发软件的最简单方式是将其分成小块;
- 设计方案脱胎于测试,而不是预先采用复杂的方法进行制定;
- 先编写测试并确定未通过后,再着手编写实现代码;
- 确定最后一个测试未通过后,就能肯定它是有效的,要实现的功能还不存在;
- 测试未通过后,编写其实现代码;
- 编写实现时,力图使其尽可能简单,只要能让测试通过就行,而不试图提供完美的解决方案;(有些TDD践行者从字面意思上解读“最少”让方法play只包含代码行throw newRuntimeException();。作者通常将“最少”理解为“在合理范围内尽可能少”。)
- 不断重复这个过程,直到认为需要对代码进行重构为止;
- 重构时不能引入任何新功能(即不改变应用程序的行为),而只是对代码进行改进,使其更容易理解和维护。