|
大多數的程式設計人員,都習慣先將程式寫好,運行它,然後觀看結果是否正確,懂得在設計好程式後,撰寫專門的測試程式的設計人員已經算是難能可貴。 測試驅動開發(Test-Driven Development, TDD)鼓勵您在撰寫程式之前,就先將測試程式完成,之後再根據測試程式的要求,逐步實現您所要設計的程式。 舉個例子來說,今天您要設計一個計算最大公因數的單元,在測試驅動開發中,您會先撰寫下面的測試程式:
package onlyfun.caterpillar.test; 您第一個所想到的是,這個程式有什麼作用?根本不能編譯!其實要讓這個程式能夠編譯並不是難事,先寫個空殼就可以了:
package onlyfun.caterpillar; 現在程式可以編譯了,當然,當您運行測試程式時,只會一直顯示"GCD Test Fail!"的訊息,為了通過測試,您再來依測試程式的設計完成最大公因數的演算內容:
package onlyfun.caterpillar; 現在編譯測試程式,然後運行它,您就可以得到"GCD Test OK!"的訊息,您已經通過測試了。 先寫測試的好處是,測試程式本身即是您的設計藍圖,您依據這個藍圖撰寫您的單元,為了符合測試程式的要求,您的單元必須設計的可以測試,這迫使您設計程式時,考慮到單元的低耦合。 |
|