1.@Before:單元測試
表示該方法在每一個測試方法執行前執行一次,可用於一些初始工做。測試
2.@BeforeClass:ui
該方法在全部測試方法運行前運行,且只運行一次,添加該註釋的方法必須修飾爲 public static void 且沒有參數。spa
3.@Test : 表示測試方法。.net
注意: 資源
1.測試方法必須使用註解 org.junit.Test 修飾。 get
2.測試方法必須使用 public void 修飾,並且不能帶有任何參數。it
該方法有兩個屬性:io
a: expected :該屬性表示測試方法必須拋出一個異常,且異常的類型必須是該屬性要求的類型,不然表示測試方法失敗。也叫作異常測試。class
例如:@Test(expected=IndexOutOfBoundsException.class)
b:timeout 用於超時測試,表示該測試方法的執行時間若是超過了要求的時間則失敗 單位爲毫秒
例如:@Test(timeout=100)
4.@Ignore :
表示會被忽略的測試方法
5.@After :
被註釋的方法會在每一個測試方法執行完成以後執行一次,若是其它的方法拋出了異常,該方法一樣會被執行。主要用於釋放在@Before方法中初始化的資源。
6.@AfterClass:
功能同@After ,只不過是該方法釋放的是@BeforeClass方法初始化的資源。且在全部的測試方法執行完成以後,只執行一次。
7.@Runwith:
測試運行器,放在測試類名以前,用來肯定測試類怎麼運行的,當不指定這個註解時,使用默認Runner來運行測試代碼,即@RunWith(JUnit4.class)。常見的運行器有:
(1)@RunWith(Parameterized.class):參數化運行器,配合@Parameters使用JUnit的參數化功能。
(2)@RunWith(Suite.class)
@SuiteClasses({ATest.class,BTest.class,CTest.class})
測試集運行器配合使用測試集功能。
(3)@RunWith(JUnit4.class):JUnit 4的默認運行器
(4)@RunWith(JUnit38ClassRunner.class):用於兼容junit3.8的運行器
8.@Parameters:
用於JUnit的參數化功能,用來標記準備數據的方法。
一個JUnit 4 的單元測試用例執行順序爲: