zz from http://blog.csdn.net/rwonly/archive/2008/03/13/2178190.aspx
?
在Eclipse中使用JUnit
測試對于保證軟件開發(fā)質(zhì)量有著非常重要的作用,單元測試更是必不可少,JUnit是一個非常強(qiáng)大的單元測試包,可以對一個/多個類的單個/多個方法 測試,還可以將不同的TestCase組合成TestSuit,使測試任務(wù)自動化。Eclipse同樣集成了JUnit,可以非常方便地編寫 TestCase。
我們創(chuàng)建一個Java工程,添加一個example.Hello類,首先我們給Hello類添加一個abs()方法,作用是返回絕對值:
下一步,我們準(zhǔn)備對這個方法進(jìn)行測試,確保功能正常。選中Hello.java,右鍵點(diǎn)擊,選擇New->JUnit Test Case:
Eclipse會詢問是否添加junit.jar包,確定后新建一個HelloTest類,用來測試Hello類。
選中setUp()和tearDown(),然后點(diǎn)擊“Next”:
選擇要測試的方法,我們選中abs(int)方法,完成后在HelloTest.java中輸入:
JUnit會以以下順序執(zhí)行測試:(大致的代碼)
try {
??? HelloTest test = new HelloTest(); // 建立測試類實(shí)例
??? test.setUp(); // 初始化測試環(huán)境
??? test.testAbs(); // 測試某個方法
??? test.tearDown(); // 清理資源
}
catch…
setUp()是建立測試環(huán)境,這里創(chuàng)建一個Hello類的實(shí)例;tearDown()用于清理資源,如釋放打開的文件等等。以test開頭的方法 被認(rèn)為是測試方法,JUnit會依次執(zhí)行testXxx()方法。在testAbs()方法中,我們對abs()的測試分別選擇正數(shù),負(fù)數(shù)和0,如果方法 返回值與期待結(jié)果相同,則assertEquals不會產(chǎn)生異常。
如果有多個testXxx方法,JUnit會創(chuàng)建多個XxxTest實(shí)例,每次運(yùn)行一個testXxx方法,setUp()和tearDown()會在testXxx前后被調(diào)用,因此,不要在一個testA()中依賴testB()。
直接運(yùn)行Run->Run As->JUnit Test,就可以看到JUnit測試結(jié)果:
綠色表示測試通過,只要有1個測試未通過,就會顯示紅色并列出未通過測試的方法。可以試圖改變abs()的代碼,故意返回錯誤的結(jié)果(比如return n+1;),然后再運(yùn)行JUnit就會報告錯誤。
如果沒有JUnit面板,選擇Window->Show View->Other,打開JUnit的View:
JUnit通過單元測試,能在開發(fā)階段就找出許多Bug,并且,多個Test Case可以組合成Test Suite,讓整個測試自動完成,尤其適合于XP方法。每增加一個小的新功能或者對代碼進(jìn)行了小的修改,就立刻運(yùn)行一遍Test Suite,確保新增和修改的代碼不會破壞原有的功能,大大增強(qiáng)軟件的可維護(hù)性,避免代碼逐漸“腐爛”。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
