JUnit basic annotation

微微微笑發表於2015-07-11

一個標準的Junit 4的執行流程,大致如下:
測試類例項化 -> @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 為靜態方法。

相關文章