一个标准的Junit 4的运行流程,大致如下:
测试类实例化 -> @BeforeClass -> @Before -> @Test -> @After -> @AfterClass
下面的代码输出明确表明了其运行流程:
- package com.junit.tutorial;
-
- import org.junit.*;
- import static org.junit.Assert.*;
- import java.util.*;
-
- public class BasicAnnotation {
-
- private Collection collection;
-
- @BeforeClass
- public static void oneTimeSetUp() {
-
- System.out.println("@BeforeClass - oneTimeSetUp");
- }
-
- @AfterClass
- public static void oneTimeTearDown() {
-
- 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 为静态方法。
JUnit basic annotation
原文:http://www.cnblogs.com/miniren/p/4638480.html