標籤:
在Junit4中還有的測試註解有: @BeforeClass ,@Before,@Test,@After,@AfterClass
1、其中:@BeforeClass,@AfterClass是Junit4中新添加進去的
2、如果Run as --->Junit Test,運行含有@Test注釋的方法是,那麼所有註解方法都將被執行,所含的執行順序是:
@BeforeClass ,@Before,@Test,@After,@AfterClass
3、在JUnit4中,如果測試類別繼承了TestCase類,那麼所有的Annotation都不會起作用。
4、案例:
package cn.edu.hactcm.testjunit;
import java.util.UUID;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* author : toto [email protected]
* CFMS :Computer files management system
* version :1.0 2013-2-19 下午01:26:04
*
* 此類用於測試單元測試中的幾個方法
*/
public class TestJunit {
private String flag;
/**
* 在本類載入前執行,注意的是有關鍵字:static
*/
@BeforeClass
public static void testBeforeClass() {
System.out.println("public static void testBeforeClass()");
}
/**
* 在執行目標測試方法testTest()前執行
*/
@Before
public void testBefore() {
System.out.println("-------------------------------------");
System.out.println("public void testBefore()");
flag = UUID.randomUUID().toString();
System.out.println("-------------------------------------");
}
/**
* 目標測試方法testTest()
*/
@Test
public void testTest() {
System.out.println("public void testTest()");
System.out.println(flag);
flag = null;
}
/**
* 目標測試方法testTest2()
*/
@Test
public void testTest2() {
System.out.println("public void testTest2()");
System.out.println(flag);
flag = null;
}
/**
* 在執行目標測試方法testTest()執行
*/
@After
public void testAfter() {
System.out.println("-------------------------------------");
System.out.println("public void testAfter()");
System.out.println(flag);
System.out.println("-------------------------------------");
}
/**
* 在本類載入後執行,注意的是有關鍵字:static
*/
@AfterClass
public static void testAfterClass() {
System.out.println("public static void testAfterClass()");
}www.2cto.com
}
只執行testTest()方法後的結果為:
public static void testBeforeClass()
-------------------------------------
public void testBefore()
-------------------------------------
public void testTest()
993ea4ea-3626-4caa-9976-07203a8b7475
-------------------------------------
public void testAfter()
null
-------------------------------------
public static void testAfterClass()
Java中單元測試中:@BeforeClass,@Before,@Test,@After,@AfterClass中的問題詳解