java中Junit單元測試
Junit元測試
單元測試(junit testing),是指對軟件中的最小可測試單元進行檢查和驗證。Java裏單元指一個類。
JUnit ,是一個開源的Java單元測試框架,是 Java的標準單元測試庫,是非常重要第三方 Java 庫,由 Kent Beck 和 Erich Gamma 開發。
Junit作為一個軟件測試的工具,JUnit可以不破壞java原代碼,使用方便,添加快捷,代碼量少,可視化的測試。
JUnit單元測試步驟:
1.導入包junit測試包:JUnit測試版本,3.81版,4.0版,導入對應的jar包;
2.寫一個類擴展(繼承)TestCase;
3.在需要測試的方法名前加test生成新的測試方法;
4.運行測試,用斷言(assert***)的方法測試成功(顯示綠色)或失敗(顯示紅色),或者自己判斷結果正確與否。
Unit3.81與JUnit4.0區別:
1.在 JUnit 4 中,測試是由 @Test 注釋來識別的;
2.Unit 3.81 測試運行程序時會在運行每個測試之前自動調用 setUp() 方法,在JUnit4.0中,要用 @Before 注釋;
3.在 JUnit 3.81 中,測試運行程序時會在運行每個測試之前自動使用 tearDown() 方法清除消耗的資源,在JUnit4.0中,用 @After 注釋。
注意:如果需測試的方法沒有返回值,隻能測試其過程。
JUnit4新特性:
1.屬於類範圍的 setUp()方法 和 tearDown() 方法,任何用 @BeforeClass 注釋的方法都將在該類中的測試方法運行之前運行一次,而任何用 @AfterClass 注釋的方法都將在該類中的所有測試都運行之後運行一次;
2.異常測試:編寫拋出異常的代碼,並使用注釋來聲明該異常是預期的;
3.在需要高效率的測試中,有些代碼測試你認為可以跳過,這類測試可以被注釋為 @Ignore
4.時間測試可以用超時參數來注釋,如果測試的運行時間超過指定的毫秒數,測試失敗。
5.增加兩個新的斷言方法:
(1)public static void assertEquals(Object[] expected, Object[] actual)
(2)public static void assertEquals(String message, Object[] expected, Object[] actual) 這兩個方法用來比較數組:如果數組長度相等且對應的元素相同,則這兩個數組相等,否則不等,也考慮了數組為空的情況。
junit類(Mul)單元測試:
package com.myhome; public class Mul{ public int mul(int x,int y) { public int mul(int x,int y) { return x*y; } public double divide(double x,double y){ return x/y; } }
用myeclipse集成開發環境添加jar包和junit測試支持:
1.如果沒有就在new菜單最下邊Other……中(或Ctrl+N),輸入junit選擇JUnit Test Case單元測試:
2.選擇JUnit 3 Test測試:
3.選擇要測試的方法:
4.此時會自動導入jar包(junit3或者junit4需要的jar包),
5.程序目錄結構:
6.此時的測試類為:
package com.myhome.test; import junit.framework.TestCase; public class MulTest extends TestCase { public void testMul() { fail("Not yet implemented"); } public void testDivide() { fail("Not yet implemented"); } }
測試內部方法體:
public void testMul() { Mul mul = new Mul(); int res = mul.mul(2, 4); System.out.println(res); } public void testDivide() { Mul mul = new Mul(); double res = mul.divide(8.0, 2.0); assertEquals(4.0, res); }
效果圖:
最後更新:2017-04-04 07:03:36