1、導入junit的jar,不建議直接使用eclipse中所提供的包
2、在src目錄下編寫服務代碼
3、創建測試類
基本原則:1、在eclipse中創建一個source folder命名爲test
2、創建一個測試類所在的包,包的名稱和要測試的類一致
4、Junit3和Junit4兩者之間的區別是非常明顯的
在Junit3中,如果某個類需要是測試類,必須將其繼承於TestCase,如果某個方法需要是測試方法,必須讓這個方法通過testXX開頭,在junit3中,如果希望指定某個測試方法運行之前運行某個初始化方法,這個方法的名稱必須是setUp,如果希望在某個測試方法運行之後運行某個釋放資源的方法,這個方法的名稱必須是tearDown
在Junit4中,一個POJO類就是一個測試類,測試方法通過@Test來標識,初始化方法通過@Before,釋放資源的方法通過@After來標註。但是爲了讓junit4中的測試類在Junit3中也可以使用,習慣於把初始化方法命名爲setUp,釋放資源的方法命名爲tearDown,測試方法也同樣以test開頭
5、如何使用斷言
在junit4中提供了一個Assert的類,這個類中有大量的方法進行斷言的處理,在junit3中由於繼承了TestCase,這個TestCase中提供了大量的assert的方法
// 加了@Test表示該方法是一個單元測試方法
@Test
public void testAdd() {
int rel = cal.add(11, 13);
/*
* 以下就是一個簡答的斷言的編寫
* 第一個參數:如果出錯給出的提示信息
* 第二個參數:方法執行後預期的一個結果
* 第三個參數:表示實際值
*/
Assert.assertEquals("加法存在問題,結果不相等", rel, 24);
}
// 加了@Test表示該方法是一個單元測試方法
@Test
public void testAdd() {
int rel = cal.add(11, 13);
/*
* 以下就是一個簡答的斷言的編寫
* 第一個參數:如果出錯給出的提示信息
* 第二個參數:方法執行後預期的一個結果
* 第三個參數:表示實際值
*/
/*
* 當進行了靜態導入之後
* import static org.junit.Assert.*;
* Assert中的所有靜態方法就不用再添加類名來調用
* 這樣可以有效的兼容junit3
* */
assertEquals("加法存在問題,結果不相等", rel, 24);
}
// 加了@Test表示該方法是一個單元測試方法
@Test
public void testAdd() {
int rel = cal.add(11, 13);
/*
* 以下就是一個簡答的斷言的編寫
* 第一個參數:如果出錯給出的提示信息
* 第二個參數:方法執行後預期的一個結果
* 第三個參數:表示實際值
*/
/*
* 當進行了靜態導入之後
* import static org.junit.Assert.*;
* Assert中的所有靜態方法就不用再添加類名來調用
* 這樣可以有效的兼容junit3
* */
assertEquals("加法存在問題,結果不相等", rel, 24);
}
6、測試異常對象
/**
* 異常拋出測試,表示這個方法不拋出異常就報錯
*/
@Test(expected = ArithmeticException.class)
public void testDivideException() {
cal.divide(20, 0);
}
7、timeout參數7、timeout參數
/**
* 性能測試,表示這個方法應該在300毫秒內執行結束才能正常
*/
@Test(timeout = 300)
public void testTimeOut() {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}