步驟一:編寫待測試的類
package com.junit;
public class Number {
public int add(int a,int b){
return a+b;
}
public int subtract(int a,int b){
return a-b;
}
public int multy(int a,int b){
return a*b;
}
public int divide(int a,int b){
return a/b;
}
}
步驟二:新建源代碼文件夾,新建和待測試類相同的包,以便將測試代碼和源代碼分離,項目完成後刪除測試代碼文件夾即可。
步驟三:右擊待測試類,new -> other -> Junit Test Case,點擊next,更改文件目標路徑爲剛剛建立的文件夾下,點擊next,選擇需要測試的方法,最後點擊finish
步驟四:給生成的方法填寫方法體,本例可以使用assertEquals(期望值,實例化方法)
package com.junit;
import static org.junit.Assert.*;
import org.junit.Test;
public class NumberTest {
@Test
public void testAdd() {
assertEquals(4,new Number().add(2,2));
}
@Test
public void testSubtract() {
assertEquals(2,new Number().subtract(6, 4));
}
@Test
public void testMulty() {
assertEquals(6,new Number().multy(2, 4));
}
@Test
public void testDivide() {
assertEquals(4,new Number().divide(8, 0));
}
}
步驟五:運行,Run as -> Junit Test,觀察結果,發現上例中兩個方法測試通過,testDivide方法爲errors,testMulty方法爲failures。errors是由代碼異常引起的,它可以產生於測試代碼本身的錯誤,也可以是被測代碼本身就有bug;failures一般由斷言方法判斷失敗引起的,即程序的輸出結果與我們預期不符。
總的來說:
1、測試方法必須使用@Test進行修飾,由public void進行聲明,不帶任何參數;
2、新建一個源代碼目錄(右擊src,new -> Source Folder)來存放測試代碼,測試類的包應該和被測試類保持一致;
3、測試單元的每個方法必須可以獨立測試,測試方法間不能有任何的依賴。