4.以上是junit4與junit3的區(qū)別與改進(jìn),下面再繼續(xù)看看junit4有哪些新增加的功能吧:
1. @Before 和 @After
類似于init() 和destory(),可以將一些初始化和釋放工作放到這里面,每個類都只有一個@Before 和 @After。為了實(shí)現(xiàn)這個功能,我們將測試類修改如下:
import org.junit.Test;
//新增加兩個類
import org.junit.Before;
import org.junit.After;
import static org.junit.Assert.*;
public class BaseClassTestNew {
BaseClass baseClass ; //這里不用進(jìn)行初始化
@Before public void runBeforeTest(){
baseClass = new BaseClass();
}
@Test public void method (){
assertTrue(baseClass.method ().equals("test.junit.BaseClass"));
}
@After public void runAfterTest(){
baseClass.teardownList();
baseClass = null;
}
}
@Before 方法會在 @Test 之前進(jìn)行,相反 @After 會在所有方法運(yùn)行完進(jìn)行。
Junit4同時(shí)還支持 @BeforeClass 和 @AfterClass,原理一樣,大家可以參考相關(guān)資料。
2.TimeOut 屬性
Junit4支持timeout,運(yùn)用如下:
a. 首先在被測試類中增加用于測試timeout的方法:
public void methodTimeOut() {
try {
Thread.sleep(50);//睡50秒
System.out.println("methodTimeOut");
} catch (InterruptedException e) {
}
}
b.看看怎么測試這個方法:
@Test(timeout=5)
public void methodTimeOut(){
baseClass.methodTimeOut();
}
1. 增加(timeout=5)這個設(shè)置項(xiàng)
2. 運(yùn)行完 沒有輸出methodTimeOut,說明這個方法沒有執(zhí)行完,達(dá)到效果。
以上是一部分junit4相關(guān)的東西,這里只是簡單的入門,希望大家增加補(bǔ)充其他內(nèi)容。