一、unit中集中基本注解,是必須掌握的。
@BeforeClass – 表示在類中的任意public static void方法執行之前執行
@AfterClass – 表示在類中的任意public static void方法執行之后執行
@Before – 表示在任意使用@Test注解標注的public void方法執行之前執行
@After – 表示在任意使用@Test注解標注的public void方法執行之后執行
@Test – 使用該注解標注的public void方法會表示為一個測試方法
二、使用示例
【code】
package org.byron4j.spring_mvc_log4j; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class BasicAnnotationTest { // Run once, e.g. Database connection, connection pool @BeforeClass public static void runOnceBeforeClass() { System.out.println("@BeforeClass - runOnceBeforeClass"); } // Run once, e.g close connection, cleanup @AfterClass public static void runOnceAfterClass() { System.out.println("@AfterClass - runOnceAfterClass"); } // Should rename to @BeforeTestMethod // e.g. Creating an similar object and share for all @Test @Before public void runBeforeTestMethod() { System.out.println("@Before - runBeforeTestMethod"); } // Should rename to @AfterTestMethod @After public void runAfterTestMethod() { System.out.println("@After - runAfterTestMethod"); } @Test public void test_method_1() { System.out.println("@Test - test_method_1"); } @Test public void test_method_2() { System.out.println("@Test - test_method_2"); } }
【輸出】
@BeforeClass - runOnceBeforeClass @Before - runBeforeTestMethod @Test - test_method_1 @After - runAfterTestMethod @Before - runBeforeTestMethod @Test - test_method_2 @After - runAfterTestMethod @AfterClass - runOnceAfterClass
@RunWith就是一個運行器
@RunWith(JUnit4.class)就是指用JUnit4來運行
@RunWith(SpringJUnit4ClassRunner.class),讓測試運行於Spring測試環境
@RunWith(Suite.class)的話就是一套測試集合
@ContextConfiguration Spring整合JUnit4測試時,使用注解引入多個配置文件
單個文件
@ContextConfiguration(Locations="classpath:applicationContext.xml")
@ContextConfiguration(classes = SimpleConfiguration.class)
多個文件時,可用
@ContextConfiguration(locations = { "classpath:spring1.xml", "classpath:spring2.xml" })