測試方法名稱必須以test開頭,沒有參數,無返回值,是公開的,可以拋異常
Junit註解的執行順序依次是@BeforeClass -> @Before -> @Test -> @After -> @Before -> @Test -> @After -> @AfterClass
第一步:
打開eclipse.exe,創建一個名爲“projectA”的工項目,創建一個名爲”Calculator”的類。寫幾個方法:兩數+ - * 的方法和返回結果的方法。
代碼如下:
private int result = 1;
public int add(int n){
return result + n;
}
public int jian(int n){
return result - n;
}
public int cheng(int n){
return result * n;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
第二步:
將JUnit4單元測試包引入這個項目:在該項目“projectA”上點右鍵,點“屬性”(Properties),如圖:
點擊“Next”,選擇“Junit4”,點擊“Finish”,成功引進junit4包,如下圖:
在剛創建的Calculator類上右鍵選擇“JUnit Test Case”選項
點擊“Next”,
點擊“Finish”
千萬不要去刪除@Test這個標誌很重要的!!!!!然後把fail(“Not yet implemented”)刪除,把自己的代碼敲進去就可以了。我選擇了測試4個方法,所以它會自動生成4個測試方法。
那測試方法怎麼寫呢?舉個例子,我想知道我的Calculator裏面的add方法有沒有寫對,那我就對這個方法寫個測試。把a數傳遞進去,例如a=1,因爲result等於1,那result+1就等2,所以這裏我們又要了解新的東西了。
我們知道result + a =2,所以如果add方法的result是2的話,那就說明了我們的這個add暫時沒有這類型的bug。所以我們要用到方法assertEquals(double expected, double actual)
這個方法裏的double expected是我們期望的值,double actual是實際的值。例如
assertEquals(2, result+a),這樣就可以測試方法有沒有算錯了
完整測試代碼:
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculatorTest {
Calculator test = new Calculator();
@Test
public void testAdd() {
assertEquals(3, test.add(2));
}
@Test
public void testJian() {
assertEquals(-1, test.jian(2));
}
@Test
public void testCheng() {
assertEquals(2, test.cheng(2));
}
}