JUnit4测试集生命周期
- 运行@BeforeClass中的代码,主要包括测试前的状态配置,@BeforeClass所标注的方法为public static void
- 执行测试集构造函数
- 执行@Before所标注的方法
- 执行@Test所标注的方法(测试主题)
- 执行@After测试结束以后执行的代码
- @AfterClass所有测试集结束后执行,方法必须为public static void
注:@Before,@Test,@After没有一定的顺序性,因此测试进行时应保证每一步操作的原子性,不应该由状态依赖
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class JUnit4PeriodTest {
@BeforeClass
public static void beforeClass1() {
System.out.println("所有测试执行前1");
}
@BeforeClass
public static void beforeClass2() {
System.out.println("所有测试执行前2");
}
@Before
public void beforeTest1() {
System.out.println("测试之前1");
}
@Before
public void beforeTest2() {
System.out.println("测试之前2");
}
@Before
public void beforeTest3() {
System.out.println("测试之前3");
}
@Test
public void test1() {
System.out.println("正在进行测试1");
}
@Test
public void test2() {
System.out.println("正在进行测试2");
}
@Test
public void test3() {
System.out.println("正在进行测试3");
}
@After
public void afterTest1() {
System.out.println("测试完成之后1");
}
@After
public void afterTest2() {
System.out.println("测试完成之后2");
}
@AfterClass
public static void afterClass1() {
System.out.println("所有测试结束后1");
}
@AfterClass
public static void afterClass2() {
System.out.println("所有测试结束后2");
}
}