下面介紹如何在Eclipse中使用JUnit進行單元測試。
(1)在Eclipse中新建一個Java項目。 (2)右擊項目,在彈出的快捷菜單中選擇“構建路徑/添加庫”命令,在彈出的“添加庫”對話框中選擇JUnit選項,如圖1.45所示。(3)單擊“下一步”按鈕,在彈出的“JUnit庫”對話框中選擇JUnit庫版本為JUnit4,單擊“完成”按鈕,完成JUnit測試環(huán)境的搭建。
(4)創(chuàng)建一個名為Count的Java類,在該類中實現一個encrypt()方法,該方法用于將傳遞的整數進行簡單的加密,并返回加密后的值。創(chuàng)建Count類的代碼如下:
package com.yxq.tools;
public class Count {
public String encrypt(int input){
int temp=2*input+100;
String over="YXQ"+temp;
return over;
}
}
(5)測試Count類。右擊Count.java類文件,在彈出的快捷菜單中選擇“新建/JUnit測試用例”命令,在彈出的“JUnit測試用例”對話框中進行圖1.46所示的設置。
(6)單擊“下一步”按鈕,在彈出的“測試方法”對話框中,選擇要測試的類中的方法,如圖1.47所示。
(7)單擊“完成”按鈕,完成測試類CountTest的創(chuàng)建。最終CountTest類的代碼如下:
package com.yxq.tools;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class CountTest {
@Before
public void setUp() throws Exception { //初始化方法,執(zhí)行CountTest類時,先來執(zhí)行該方法
}
@After
public void tearDown() throws Exception { //清理方法,測試結束后執(zhí)行該方法
}
@Test
public void testEncrypt() { //在被測試的方法名前自動加入test并使方法名的第一個字母大寫
fail("尚未實現");
}
}
(8)對CountTest類進行如下編碼:
private Count count;
@Before
public void setUp() throws Exception {
count=new Count(); //創(chuàng)建Count類對象
}
@After
public void tearDown() throws Exception {
count=null; //銷毀count對象
}
@Test
public final void testEncrypt() { //測試將整數10進行加密后的結果是否為YXQ120
assertEquals("測試testEncrypt()方法失??!",count.encrypt(10),"YXQ120");
}
上述代碼中的assertEquals()方法是org.junit.Assert類中的靜態(tài)方法。其用法如下:
assertEquals(String message,String expected,String actual)
其中,參數message表示斷言失敗輸出的信息,可以省略;expected表示期望的數據;actual表示實際的數據。assertEquals()方法用來斷言expected表示的數據與actual表示的數據相等,若不等,則拋出異常并輸出由message表示的提示信息。
在Assert類中,常見的assertXxx()方法如表1.12所示。