TestNG基本註解
在JUnit 3中用於指示測試方法的傳統方式是將其名稱加上前綴。 這是一個非常有效的方法,用於將類中的某些方法標記爲具有特殊意義,但是命名不能很好地擴展(如果我們要爲不同的框架添加更多的標籤呢?)而且非常不靈活的(如果想傳遞額外的參數到測試框架呢怎麼辦?)。
註解從JDK 5開始正式添加到Java語言中,TestNG選擇使用註解來註釋測試類。
以下是TestNG支持的註釋列表:
註解
描述
[@BeforeSuite](https://github.com/BeforeSuite "@BeforeSuite")
在該套件的所有測試都運行在註釋的方法之前,僅運行一次。
[@AfterSuite](https://github.com/AfterSuite "@AfterSuite")
在該套件的所有測試都運行在註釋方法之後,僅運行一次。
[@BeforeClass](https://github.com/BeforeClass "@BeforeClass")
在調用當前類的第一個測試方法之前運行,註釋方法僅運行一次。
[@AfterClass](https://github.com/AfterClass "@AfterClass")
在調用當前類的第一個測試方法之後運行,註釋方法僅運行一次
[@BeforeTest](https://github.com/BeforeTest "@BeforeTest")
註釋的方法將在屬於<test>
標籤內的類的所有測試方法運行之前運行。
[@AfterTest](https://github.com/AfterTest "@AfterTest")
註釋的方法將在屬於<test>
標籤內的類的所有測試方法運行之後運行。
[@BeforeGroups](https://github.com/BeforeGroups "@BeforeGroups")
配置方法將在之前運行組列表。 此方法保證在調用屬於這些組中的任何一個的第一個測試方法之前不久運行。
[@AfterGroups](https://github.com/AfterGroups "@AfterGroups")
此配置方法將在之後運行組列表。該方法保證在調用屬於任何這些組的最後一個測試方法之後不久運行。
[@BeforeMethod](https://github.com/BeforeMethod "@BeforeMethod")
註釋方法將在每個測試方法之前運行。
[@AfterMethod](https://github.com/AfterMethod "@AfterMethod")
註釋方法將在每個測試方法之後運行。
[@DataProvider](https://github.com/DataProvider "@DataProvider")
標記一種方法來提供測試方法的數據。 註釋方法必須返回一個Object [] []
,其中每個Object []
可以被分配給測試方法的參數列表。 要從該DataProvider
接收數據的[@Test](https://github.com/Test "@Test")
方法需要使用與此註釋名稱相等的dataProvider
名稱。
[@Factory](https://github.com/Factory "@Factory")
將一個方法標記爲工廠,返回TestNG
將被用作測試類的對象。 該方法必須返回Object []
。
[@Listeners](https://github.com/Listeners "@Listeners")
定義測試類上的偵聽器。
[@Parameters](https://github.com/Parameters "@Parameters")
描述如何將參數傳遞給[@Test](https://github.com/Test "@Test")
方法。
[@Test](https://github.com/Test "@Test")
將類或方法標記爲測試的一部分。
使用註釋/註解的好處
以下是使用註釋/註解的一些好處:
TestNG通過查找註釋/註解來識別它感興趣的方法。 因此,方法名稱不限於任何模式或格式。
可以將其他參數傳遞給註釋。
註釋是強類型的,所以編譯器會馬上標記任何錯誤。
測試類不再需要擴展任何東西(如TestCase,對於JUnit3)。