我們說測試驅動可以是xp的一部分,xp講究的是適當設計(很多時候被人理解為不設計或草設計),同樣要實現tdd也要進行設計,這個設計就要考慮到**的可測試性,這就是我們所說的利於測試的設計。mock物件的提出和mock工具的使用又為我們提供了隔離測試、模擬複雜物件的平台。有時我們的**會讓mock物件也無能為例,例如:
1、我們的**中經常出現classa a = new classa()的情況,這將使得mock物件無從下手。自然地我們可以使用工廠方法對其進行改進,如果實現constructor injection有需要在工廠中下文章,講到這裡就容易聯想到spring等控制翻轉工具了。
2、我們的**中可能要調要本類的私有方法,要實現隔離測試有三種主張:a.私有方法是不需要單獨測試的應該在共有方法的呼叫中進行覆蓋。b.私有方法也應該進行單獨測試,實現這種測試我們就需要使用反射的方法。c.重構,有些私有方法應該進行必要的重構。例如工具類的方法(讀寫檔案,獲取property值等)這些方法一定要提煉出去從而使得檔案物件易於模擬。上面三種主張各有立場,要老生常談的說一句「具體問題具體分析」!
測試驅動開發
測試驅動開發 test driven development,英文縮寫tdd 是極限程式設計的乙個重要組成部分,它的基本思想就是在開發功能 之前,先編寫測試 也就是說在明確要開發某個功能後,首先思考如何對這個功能進行測試,並完成測試 的編寫,然後編寫相關的 滿足這些測試用例。然後迴圈進行新增其他功能...
測試驅動開發
在開發的過程中,總有種憂慮感,擔心系統會出現這樣或那樣的bug,修改bug後,更要把所有的流程重測一遍。於是我們在完成 後,編寫測試程式,將所有的流程通過測試程式自動跑一遍。測試驅動開發就在這種需求下誕生了。它將測試用例的開發提到了功能 之前,這樣功能 是為滿足測試用例能通過而開發,同時,測試用例也...
測試驅動開發
ttd是test driven development的簡稱,即為測試驅動開發,是極限程式設計中倡導的開發方法,倡導先寫測試再寫功能。這裡主要以我做的乙個練習測試隨機四位數的例子來講講。先介紹一下 測試的基本模組 js describe print number function beforeeac...