- 敏捷開發(紀念版)
- (美)羅伯特·C.馬丁等
- 372字
- 2023-08-31 19:23:38
測試驅動開發
本主題將在第4章更詳細地討論,這里簡單概括一下。
所有生產代碼都是為了讓一個失敗的單元測試通過而寫的。先寫一個失敗的單元測試,因為此時還沒有它要測試的功能,然后寫代碼使其通過。
測試用例和代碼以很快的速度迭代,大約一分鐘左右。測試用例和代碼共同演進,測試用例每次都小幅度地改進代碼(第6章展示了一個例子)。
最終,一套非常完整的測試用例就和代碼共同發展起來。程序員可通過這些測試檢驗程序的正確性。結對編程時,如對代碼進行微小改動,他們可運行測試,確保一切如常。這非常有利于重構(本章稍后討論)。
如果寫代碼的目的是希望通過測試,代碼天生就具備了“可測試”性。另外,你會更有動力“解耦”每個模塊,使其具備獨立測試的能力。這樣寫出來的代碼具有非常高的獨立性,對其他代碼的依賴更低。如第II部分所述,面向對象設計(OOD)是實現這種“解耦”的關鍵助力。