1 使用Junit首先要導入兩個jar包,分別是hamcrest-all-1.3.jar和junit-4.12.jar。下載后,導入即可。
2 安裝eclemma。首先下載下來,然后拷貝到ecilipse安裝目錄的dropins文件夾下,刪除ecilipse安裝目錄下的update文件,然后重啟ecilipse,當發現ecilipse上有這樣一個按鈕時,說明Emma安裝成功。
3 接下來編寫test代碼。與src同級新建一個source folder,在兩個source folder下都新建pacage,兩個pacage命名相同(比如lab1),在src的lab1下新建一個.java文件,calculate.java,里面的內容如下
package lab1; public class calculate { private static int result = 0; public void triangle(int a,int b,int c) { if(a<=0 || b<=0 || c<=0) { result = 0;//邊長必須大於0 } else { if(((a+b)>c) && ((a+c)>b && (b+c)>a)) { if((a == b) &&(a == c)) { result = 3;//等邊 } if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b)) { result = 2;//等腰 } if(a!=b && a!=c && b!=c) { result = 1;//普通 } } else { result = 0;//不滿足兩邊之和大於第三邊的不是三角形 } } } public int getReuslt(){ return result; } public void clear(){ result = 0; } }
這是用來判斷三角形類型的java類。
在test的lab1下新建testcal.java,用來寫測試程序
package lab1; import static org.junit.Assert.*; import org.junit.Test; public class testcal { private static calculate cal = new calculate(); @Test public void testTriangle(){ cal.triangle(5, 5, 5); assertEquals(3, cal.getReuslt()); cal.triangle(5, 5, 6); assertEquals(2, cal.getReuslt()); cal.triangle(3, 4, 5); assertEquals(1, cal.getReuslt()); cal.triangle(12, 5, 5); assertEquals(0, cal.getReuslt()); } }
運行結果如下

這個測試數據的結果和預期相同,說明此測試用例沒有找出程序的錯誤。綠色部分為corvered。

上圖是當我們故意寫錯一個test用例時,(6,5,5)應該是等腰,預期是2,不是0.(2代表等腰,0代表不是三角形),運行后,出現一個failure。
