TestNG基本註解


在JUnit 3中用於指示測試方法的傳統方式是將其名稱加上字首。 這是一個非常有效的方法,用於將類中的某些方法標記為具有特殊意義,但是命名不能很好地擴充套件(如果我們要為不同的框架新增更多的標籤呢?)而且非常不靈活的(如果想傳遞額外的引數到測試框架呢怎麼辦?)。

註解從JDK 5開始正式新增到Java語言中,TestNG選擇使用註解來註釋測試類。

以下是TestNG支援的注釋列表:

註解 描述
@BeforeSuite 在該套件的所有測試都執行在注釋的方法之前,僅執行一次。
@AfterSuite 在該套件的所有測試都執行在注釋方法之後,僅執行一次。
@BeforeClass 在呼叫當前類的第一個測試方法之前執行,注釋方法僅執行一次。
@AfterClass 在呼叫當前類的第一個測試方法之後執行,注釋方法僅執行一次
@BeforeTest 注釋的方法將在屬於<test>標籤內的類的所有測試方法執行之前執行。
@AfterTest 注釋的方法將在屬於<test>標籤內的類的所有測試方法執行之後執行。
@BeforeGroups 組態方法將在之前執行組列表。 此方法保證在呼叫屬於這些組中的任何一個的第一個測試方法之前不久執行。
@AfterGroups 此組態方法將在之後執行組列表。該方法保證在呼叫屬於任何這些組的最後一個測試方法之後不久執行。
@BeforeMethod 注釋方法將在每個測試方法之前執行。
@AfterMethod 注釋方法將在每個測試方法之後執行。
@DataProvider 標記一種方法來提供測試方法的資料。 注釋方法必須返回一個Object [] [],其中每個Object []可以被分配給測試方法的引數列表。 要從該DataProvider接收資料的@Test方法需要使用與此註釋名稱相等的dataProvider名稱。
@Factory 將一個方法標記為工廠,返回TestNG將被用作測試類的物件。 該方法必須返回Object []
@Listeners 定義測試類上的偵聽器。
@Parameters 描述如何將引數傳遞給@Test方法。
@Test 將類或方法標記為測試的一部分。

使用注釋/註解的好處

以下是使用注釋/註解的一些好處:

  • TestNG通過查詢註釋/註解來識別它感興趣的方法。 因此,方法名稱不限於任何模式或格式。

  • 可以將其他引數傳遞給注釋。

  • 注釋是強型別的,所以編譯器會馬上標記任何錯誤。

  • 測試類不再需要擴充套件任何東西(如TestCase,對於JUnit3)。