在Eclipse中使用JUnit
測試對於保證軟件開發質量有着很是重要的做用,單元測試更是必不可少,JUnit是一個很是強大的單元測試包,能夠對一個/多個類的單個/多個方法測試,還能夠將不一樣的TestCase組合成TestSuit,使測試任務自動化。Eclipse一樣集成了JUnit,能夠很是方便地編寫TestCase。
咱們建立一個Java工程,添加一個example.Hello類,首先咱們給Hello類添加一個abs()方法,做用是返回絕對值:
下一步,咱們準備對這個方法進行測試,確保功能正常。選中Hello.java,右鍵點擊,選擇New->JUnit Test Case:
Eclipse會詢問是否添加junit.jar包,肯定後新建一個HelloTest類,用來測試Hello類。
選中setUp()和tearDown(),而後點擊「Next」:
選擇要測試的方法,咱們選中abs(int)方法,完成後在HelloTest.java中輸入:
JUnit會以如下順序執行測試:(
大體的代碼)
try { HelloTest test = new HelloTest(); // 創建測試類實例 test.setUp(); // 初始化測試環境 test.testAbs(); // 測試某個方法 test.tearDown(); // 清理資源 } catch…
|
setUp()是創建測試環境,這裏建立一個Hello類的實例;tearDown()用於清理資源,如釋放打開的文件等等。以test開頭的方法被認爲是測試方法,JUnit會依次執行testXxx()方法。在testAbs()方法中,咱們對abs()的測試分別選擇正數,負數和0,若是方法返回值與期待結果相同,則assertEquals不會產生異常。
若是有多個testXxx方法,JUnit會建立多個XxxTest實例,每次運行一個testXxx方法,setUp()和tearDown()會在testXxx先後被調用,所以,不要在一個testA()中依賴testB()。
直接運行Run->Run As->JUnit Test,就能夠看到JUnit測試結果:
綠色表示測試經過,只要有1個測試未經過,就會顯示紅色並列出未經過測試的方法。能夠試圖改變abs()的代碼,故意返回錯誤的結果(好比return n+1;),而後再運行JUnit就會報告錯誤。
若是沒有JUnit面板,選擇Window->Show View->Other,打開JUnit的View:
JUnit經過單元測試,能在開發階段就找出許多Bug,而且,多個Test Case能夠組合成Test Suite,讓整個測試自動完成,尤爲適合於XP方法。每增長一個小的新功能或者對代碼進行了小的修改,就馬上運行一遍Test Suite,確保新增和修改的代碼不會破壞原有的功能,大大加強軟件的可維護性,避免代碼逐漸「腐爛」。