編寫JUnit測(cè)試的理由
·JUnit在保證質(zhì)量的同時(shí)提高代碼編寫速度
看起來不可思議,但是事實(shí)。使用JUnit后,花在調(diào)試的時(shí)間會(huì)更少,在改變代碼的時(shí)候更有信心。有了這種信心,你可以在重構(gòu)代碼,添加新特性的時(shí)候更有闖勁。
如果沒有測(cè)試,那么重構(gòu)或者添加新特性很容易成為妄想,因?yàn)槟銦o法知曉什么地方會(huì)被破壞掉。如果擁有完善的測(cè)試套,在改變代碼后,立即運(yùn)行測(cè)試,這樣可以得到信心,你的改變沒有破壞任何東西。當(dāng)運(yùn)行測(cè)試時(shí),如果檢測(cè)出bug,因?yàn)榇a在腦海里還很清楚,所以bug很容易被解決。用JUnit編寫測(cè)試,可以使你的代碼編寫達(dá)到極限速度,而且快速定位bug。
·JUnit 及其簡(jiǎn)單
測(cè)試應(yīng)該很簡(jiǎn)單,這一點(diǎn)很關(guān)鍵。如果測(cè)試太復(fù)雜,花費(fèi)太多時(shí)間,編寫測(cè)試不太值得了。使用JUnit,你可以快速的寫出測(cè)試代碼來驗(yàn)證程序。隨著軟件的增長相應(yīng)的增加測(cè)試代碼。
使用JUnit,運(yùn)行測(cè)試也變得很簡(jiǎn)單而且很快速。
·JUnit 驗(yàn)證它們自己的結(jié)果,而且能夠立即反饋
JUnit測(cè)試能夠自動(dòng)運(yùn)行,它們檢查自身的結(jié)果。運(yùn)行測(cè)試后,你會(huì)立即得到可視化的反饋,測(cè)試通過或者失敗。不需要手工來輸出測(cè)試結(jié)果報(bào)告。
·JUnit 測(cè)試可以被組合為不同層次的測(cè)試套
JUnit測(cè)試可以被整合到測(cè)試套中,測(cè)試套可以包含測(cè)試用例或者其他的測(cè)試套。JUnit測(cè)試的組合行為使你可以聚集一組測(cè)試用例為一個(gè)測(cè)試套,也可以將多個(gè)測(cè)試套組合到一個(gè)測(cè)試套中。你可以運(yùn)行任何一個(gè)層次的測(cè)試套。
·編寫 JUnit 測(cè)試代價(jià)很小
使用JUnit測(cè)試框架,你可以代價(jià)很小的編寫測(cè)試,而且享受著測(cè)試框架提供的便利。寫測(cè)試簡(jiǎn)單到,是編寫一個(gè)方法,使用一下要測(cè)試的代碼,定義一個(gè)期望的結(jié)果。
·JUnit 測(cè)試增強(qiáng)了軟件的穩(wěn)定性。測(cè)試越少,代碼的穩(wěn)定性越差。測(cè)試驗(yàn)證了軟件的穩(wěn)定性,保證了更改沒有在項(xiàng)目中引起波紋效應(yīng)。
JUnit 測(cè)試是程序員的測(cè)試。JUnit測(cè)試是用來提高程序員的效率和代碼質(zhì)量。與功能測(cè)試不同,功能測(cè)試是將整個(gè)系統(tǒng)視作黑盒,從整體保證軟件有效。單元測(cè)試是用來測(cè)試實(shí)現(xiàn)基本功能的代碼塊。程序員編寫并維護(hù)JUnit測(cè)試代碼。當(dāng)一次開發(fā)迭代完成,測(cè)試代碼也要同步的更新,作為對(duì)此次迭代的質(zhì)量驗(yàn)證。
測(cè)試習(xí)慣
編寫JUnit測(cè)試時(shí),確保以下牢記在心:
·只用測(cè)試到的地方才會(huì)運(yùn)行的很好。
·測(cè)一點(diǎn),寫一點(diǎn), 測(cè)一點(diǎn),寫一點(diǎn)...
·取保所有的測(cè)試都要執(zhí)行。
·少每天一次運(yùn)行所有的測(cè)試用例 (或一晚)。
·為有破壞可能性的代碼編寫完善的測(cè)試。
·為你有可能獲得回報(bào)的地方編寫測(cè)試。
·如果你總是在調(diào)試某個(gè)地方,編寫JUnit測(cè)試自動(dòng)驗(yàn)證結(jié)果來代替調(diào)試。
·如果有bug被報(bào)告,編寫測(cè)試來暴露這個(gè)bug。
·有人讓你幫助調(diào)試的時(shí)候,幫助他寫測(cè)試用例。
·在編寫代碼之前編寫單元測(cè)試代碼,只有測(cè)試失敗的時(shí)候才寫新代碼。寫簡(jiǎn)單的新代碼讓測(cè)試通過。