JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@Aft

JUnit 4 开始使用 Java 5 中的注解(annotation),经常使用的几个 annotation 介绍:java

@BeforeClass:针对全部测试,只执行一次,且必须为static voidide

@Before:初始化方法单元测试

@Test:测试方法,在这里能够测试指望异常和超时时间测试

@After:释放资源spa

@AfterClass:针对全部测试,只执行一次,且必须为static voidcode

@Ignore:忽略的测试方法
orm


一个单元测试用例执行顺序为:
ip

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass资源

每个测试方法的调用顺序为:
it

@Before –> @Test –> @After

如下是测试执行顺序代码:

public class CalculatorTest {
private static Calculator calculator = new Calculator();
@BeforeClass
public static void beforeClass1(){
System.out.println("@beforeClass1");
}
@BeforeClass
public static void beforeClass2(){
System.out.println("@beforeClass2");
}
@Before
public void before1() throws Exception {
System.out.println("@before1");
}
@Before
public void before2() throws Exception {
System.out.println("@before2");
}
@Test
public void testAdd() {
System.out.println(1);
}
@Test
public void testSubstract() {
System.out.println(2);
}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply() {
System.out.println(3);
fail("Not yet implemented");
}
@Test
public void testDivide() {
System.out.println(4);
}
@Test(timeout = 1000)
public void testSquareRoot() {
System.out.println(5);
}
@Test
//@Test(expected = ArithmeticException.class)
public void divideByZero() {
System.out.println(6);
}
@After
public void after1(){
System.out.println("@after1");
}
@After
public void after2(){
System.out.println("@after2");
}
@AfterClass
public static void afterClass1(){
System.out.println("@afterClass1");
}
@AfterClass
public static void afterClass2(){
System.out.println("@afterClass2");
}
}

执行结果:

@beforeClass2@beforeClass1@before2@before11@after1@after2@before2@before12@after1@after2@before2@before14@after1@after2@before2@before15@after1@after2@before2@before16@after1@after2@afterClass1@afterClass2

相关文章
相关标签/搜索