Annotation是對屬性,方法或者類作一個標記 好比@override表示複寫了父類中的方法java
【1】@Test : 測試方法(說明該方法爲測試方法)
a)(expected=XXException.class)
b)(timeout=xxx)
@Test(expected=java.lang.ArithmeticException.class,timeout=100)
//期待拋出算術異常,而且運行時間限制在100ms之內(一般在測試代碼運行效率時這樣設置)spring
public void testDivide(){
int z = new T().divide(8,0);
//assertThat(z,is(4));
}
【2】@Ignore : 被忽略的測試方法
有時候某些方法還不具有測試的條件,暫時還不能測試或者某些方法已經不須要再作測試了,這就能夠進行忽略的操做了。
有時方法的測試條件還沒知足,整個項目還差一個模塊,則能夠採用該方法假定測試條件成立。數據庫
【3】@Before: 每個測試方法(@Test方法)以前運行
4.@After: 每個測試方法以後運行
應用場合:
有些方法須要執行的時候須要一些先決條件,好比打開某文件,執行完以後須要關閉文件,這就須要before和after操做。
5.@BeforeClass: 全部測試開始以前運行
6.@AfterClass: 全部測試結束以後運行
@BeforeClass
public static void BeforeClass(){
System.out.println("beforeclass");
}
@AfterClass
public static void AfterClass(){
System.out.println("afterclass");
}
若是方法不聲明爲static,則運行後會報錯,以下:
java.lang.Exception: Method BeforeClass() should be static
注意:這裏方法必定是static,緣由在於調用該方法的時候是在全部的類未進行初始化以前進行的,所以只能是靜態的。
應用場合:
用在一些當咱們在測試以前須要取得一些很耗費時間的資源的時候,或者是須要搭載一些比較耗費時間的配置環境(創建與數據庫的鏈接,搭建數據庫鏈接池;搭建spring環境)的時候,用BeforeClass。須要把資源釋放掉或環境卸載掉時,用AfterClass。
Beforeclass與before不一樣,一個是全局,一個是局部,好比與數據庫的連接,確定是在全局操做以前搭建好,不能執行每一個方法的時候都搭建一次,這樣的話效率就過低了。ide