4.以上是junit4与junit3的区别与改进,下面再继续看看junit4有哪些新增加的功能吧:
1. @Before 和 @After
类似于init() 和destory(),可以将一些初始化和释放工作放到这里面,每个类都只有一个@Before 和 @After。为了实现这个功能,我们将测试类修改如下:
import org.junit.Test;
//新增加两个类
import org.junit.Before;
import org.junit.After;
import static org.junit.Assert.*;
public class BaseClassTestNew {
BaseClass baseClass ; //这里不用进行初始化
@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 之前进行,相反 @After 会在所有方法运行完进行。
Junit4同时还支持 @BeforeClass 和 @AfterClass,原理一样,大家可以参考相关资料。
2.TimeOut 属性
Junit4支持timeout,运用如下:
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)这个设置项
2. 运行完 没有输出methodTimeOut,说明这个方法没有执行完,达到效果。
以上是一部分junit4相关的东西,这里只是简单的入门,希望大家增加补充其他内容。