Robert C. Martin :
1. 除非这能让失败的单元测试通过,否则不允许去编写
任何的产品代码。
2. 只允许编写刚好能够导致失败的单元测试。 (编译失
败也属于一种失败)
3. 只允许编写刚好能够导致一个失败的单元测试通过的
产品代码。
对于任何功能,一定要从编写它的单元测试开始;但是
到了原则 2 ,你就不能再为那个单元测试写更多内容。
只要一出现该单元测试代码编译失败,或是断言失败,
你就必须停下来开始编写产品代码;但是到了原则 3 ,
你就只能编写产品代码,直到让测试编译成功或通过断
言为准。