一. TDD的目標: 代碼整潔可用
二.開發過程中所經歷的階段:
1.不可運行-------寫一個不能工作的測試程序,一開始這個程序甚至不能編譯
2.可運行---------儘快讓這個測試程序工作,爲此可以在程序中使用一些不合情理的方法
3.重構---------消除在讓測試程序工作的過程中產生的重複設計,優化設計結構
不可運行/可運行/重構 ----- 這就是測試驅動開發的口號
三.具體開發步驟:
1.列清單,功能點
2.
25.測試驅動開發模式
1) 測試最好相互獨立: 幾個測試失敗最好對應的是不同的問題,且獨立意味着不依賴於順序。
2) 寫測試時先寫斷言,然後根據斷言往回寫,這樣會寫出一個測試
3) 不要用一個常量來表達多重意思,儘量用真實數據
28.可運行模式
1) 測試不能通過時返回一個常量,一旦測試能運行起來,那個常量逐漸轉換成用變量表示的表達式
2) 消除重複(如果不知道怎麼抽象,就用三角法,兩個或兩個以上對於相同功能的測試用例)
29.xUnit模式
1) 幾個測試都需要的對象,放在setUp方法裏
2) 方法名: test + 測試緣由
3) 測試異常: 執行完了以後 fail()
30.設計模式:
1) 出現空值,返回一個什麼也不做的新對象
2)
三.重構
1. 抽象:一點一點減少它們之間的差異,只有他們完全一致的時候再去統一
2.隔離變化: 對修改的部分進行隔離
3.提取方法: 便於理解複雜方法
1) 提取區域內沒有向在本區域外臨時變量賦值的語句
2) 對於在新方法中用到的原方法的每個臨時變量或參數,都爲新方法增加一個參數
4.方法對象: 對於某方法內有大量臨時變量和參數的情況
1) 使用與方法一樣的參數來創建一個對象
2) 把局部變量變成對象的實例變量
3) 創建一個方法,使內容與原來方法內容相同
4) new該對象實例並調用該方法