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