傳統的方式來表示JUnit 3中的測試方法是測試自己的名字前綴。標記一個類中的某些方法,具有特殊的意義,這是一個非常有效的方法,但命名不很好的擴展(如果我們想添加更多標簽為不同的框架?),而非缺乏靈活性(如果我們要通過額外的參數測試框架)。
注釋被正式加入到JDK 5中的Java語言和TestNG作出選擇使用注釋注釋測試類。
這裡是TestNG的支持列表中的注解:
注解 | 描述 |
---|---|
@BeforeSuite | 注解的方法將隻運行一次,運行所有測試前此套件中。 |
@AfterSuite | 注解的方法將隻運行一次此套件中的所有測試都運行之後。 |
@BeforeClass | 注解的方法將隻運行一次先行先試在當前類中的方法調用。 |
@AfterClass | 注解的方法將隻運行一次後已經運行在當前類中的所有測試方法。 |
@BeforeTest | 注解的方法將被運行之前的任何測試方法屬於內部類的 <test>標簽的運行。 |
@AfterTest | 注解的方法將被運行後,所有的測試方法,屬於內部類的<test>標簽的運行。 |
@BeforeGroups | 組的列表,這種配置方法將之前運行。此方法是保證在運行屬於任何這些組第一個測試方法,該方法被調用。 |
@AfterGroups | 組的名單,這種配置方法後,將運行。此方法是保證運行後不久,最後的測試方法,該方法屬於任何這些組被調用。 |
@BeforeMethod | 注解的方法將每個測試方法之前運行。 |
@AfterMethod | 被注釋的方法將被運行後,每個測試方法。 |
@DataProvider |
標誌著一個方法,提供數據的一個測試方法。注解的方法必須返回一個Object[] [],其中每個對象[]的測試方法的參數列表中可以分配。
該@Test 方法,希望從這個DataProvider的接收數據,需要使用一個dataProvider名稱等於這個注解的名字。 |
@Factory | 作為一個工廠,返回TestNG的測試類的對象將被用於標記的方法。該方法必須返回Object[]。 |
@Listeners | 定義一個測試類的監聽器。 |
@Parameters | 介紹如何將參數傳遞給@Test方法。 |
@Test | 標記一個類或方法作為測試的一部分。 |
以下是一些使用注釋的好處: