官术网_书友最值得收藏!

測試驅動開發

本主題將在第4章更詳細地討論,這里簡單概括一下。

所有生產代碼都是為了讓一個失敗的單元測試通過而寫的。先寫一個失敗的單元測試,因為此時還沒有它要測試的功能,然后寫代碼使其通過。

測試用例和代碼以很快的速度迭代,大約一分鐘左右。測試用例和代碼共同演進,測試用例每次都小幅度地改進代碼(第6章展示了一個例子)。

最終,一套非常完整的測試用例就和代碼共同發展起來。程序員可通過這些測試檢驗程序的正確性。結對編程時,如對代碼進行微小改動,他們可運行測試,確保一切如常。這非常有利于重構(本章稍后討論)。

如果寫代碼的目的是希望通過測試,代碼天生就具備了“可測試”性。另外,你會更有動力“解耦”每個模塊,使其具備獨立測試的能力。這樣寫出來的代碼具有非常高的獨立性,對其他代碼的依賴更低。如第II部分所述,面向對象設計(OOD)是實現這種“解耦”的關鍵助力。

主站蜘蛛池模板: 克什克腾旗| 兴业县| 甘谷县| 潜江市| 阳谷县| 屯昌县| 镇远县| 惠州市| 方城县| 安徽省| 通化县| 扎赉特旗| 沭阳县| 七台河市| 乌拉特后旗| 密云县| 东宁县| 贺兰县| 全州县| 吴桥县| 安龙县| 龙海市| 彰化市| 清远市| 西盟| 长治县| 乐山市| 甘南县| 囊谦县| 罗田县| 九龙城区| 高安市| 峨眉山市| 延寿县| 漯河市| 金堂县| 忻州市| 柳河县| 遂昌县| 新密市| 页游|