一个标准的Junit 4的运行流程,大致如下:
测试类实例化 -> @BeforeClass -> @Before -> @Test -> @After -> @AfterClass
下面的代码输出明确表明了其运行流程:
测试类实例化 -> @BeforeClass -> @Before -> @Test -> @After -> @AfterClass
下面的代码输出明确表明了其运行流程:
package com.junit.tutorial;
import org.junit.*;
import static org.junit.Assert.*;
import java.util.*;
/**
* @author mkyong
*
*/
public class BasicAnnotation {
private Collection collection;
@BeforeClass
public static void oneTimeSetUp() {
// one-time initialization code
System.out.println("@BeforeClass - oneTimeSetUp");
}
@AfterClass
public static void oneTimeTearDown() {
// one-time cleanup code
System.out.println("@AfterClass - oneTimeTearDown");
}
@Before
public void setUp() {
collection = new ArrayList();
System.out.println("@Before - setUp");
}
@After
public void tearDown() {
collection.clear();
System.out.println("@After - tearDown");
}
@Test
public void testEmptyCollection() {
assertTrue(collection.isEmpty());
System.out.println("@Test - testEmptyCollection");
}
@Test
public void testOneItemCollection() {
collection.add("itemA");
assertEquals(1, collection.size());
System.out.println("@Test - testOneItemCollection");
}
}
结果:
@BeforeClass - oneTimeSetUp
@Before - setUp
@Test - testOneItemCollection
@After - tearDown
@Before - setUp
@Test - testEmptyCollection
@After - tearDown
@AfterClass - oneTimeTearDown
需要注意的是,我们需要申明 @BeforeClass 和 @AfterClass 为静态方法。
本文详细解析了一个标准的JUnit4测试类的运行流程,包括@BeforeClass、@Before、@Test、@After、@AfterClass等注解的作用,并通过代码示例展示了其实际运行过程。
9万+

被折叠的 条评论
为什么被折叠?



