在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)。
上一篇:
TestNG Hello World入門示例
下一篇:
TestNG配置注解實例