下載地址:
第13章測試驅動編程.rar? 或者?
下載TDD及它的優點
?
??? 上面這種編程的方式,就叫“測試驅動編程Test Driven Development (TDD)”,因為我們總是在寫真正代碼之前寫一個通不過的測試,然后再寫真正的代碼,讓測試通過。
??? 跟測試后行的開發方式相比,它有如下好處:
??????????????????????????????????????????????????????
??? 1.為了更容易的寫單元測試,我們會廣泛的使用接口(比如StudentRegistryChecker等)。這個會讓單元測試代碼很容易讀跟寫,因為測試代碼里面沒有多余的數據。如果我們不用TDD而是直接寫實現的話,我們經常會使用現成的類(比如StudentSet),測試為了調用現成的類,就不得不創建很多多余的數據,創建很巨型的對象,就像Student或者Course。
???
??? 2.因為廣泛的使用接口,我們的類之間就不會藕合(比如EnrollmentSet就一點都不知道StudentSet的存在),因此重用性更好。
?
??? 3.寫單元測試的時候,很容易就可以為一個行為寫一個測試用例,讓它通過,然后為另一種行為寫另一個測試用例。也就是說,整個任務會被劃分成很多小的任務,獨立完成。如果我們不用TDD而直接實現的話,我們很容易就會同時把所有的行為都實現了。這樣花的時間長,而且在這相當長的時間里面,寫的代碼都是沒有測試過,不能保證準確性的。相反的,用TDD的話,我們只實現要測的行為的代碼。它只花費很少的時間(幾分鐘),而且可以馬上測試。