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");
	}

}

 JUnit4测试集生命周期