TestNG - 基本註解



在 JUnit 3 中,指示測試方法的傳統方式是在其名稱前加上 test。這是一種非常有效的方法,用於將類中的某些方法標記為具有特殊含義,但這種命名方式擴充套件性不佳(如果我們想為不同的框架新增更多標籤怎麼辦?)並且相當不靈活(如果我們想向測試框架傳遞其他引數怎麼辦?)。

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

以下是 TestNG 支援的註解列表:

序號 註解 & 描述
1

@BeforeSuite

帶註解的方法將在此套件中的所有測試執行之前僅執行一次。

2

@AfterSuite

帶註解的方法將在此套件中的所有測試執行之後僅執行一次。

3

@BeforeClass

帶註解的方法將在當前類中的第一個測試方法被呼叫之前僅執行一次。

4

@AfterClass

帶註解的方法將在當前類中的所有測試方法執行之後僅執行一次。

5

@BeforeTest

帶註解的方法將在 <test> 標籤內的類的任何測試方法執行之前執行。

6

@AfterTest

帶註解的方法將在 <test> 標籤內的類的所有測試方法執行之後執行。

7

@BeforeGroups

此配置方法將在其之前執行的組列表。此方法保證在屬於這些組中的任何第一個測試方法被呼叫之前不久執行。

8

@AfterGroups

此配置方法將在其之後執行的組列表。此方法保證在屬於這些組中的任何最後一個測試方法被呼叫之後不久執行。

9

@BeforeMethod

帶註解的方法將在每個測試方法之前執行。

10

@AfterMethod

帶註解的方法將在每個測試方法之後執行。

11

@DataProvider

將方法標記為為測試方法提供資料。帶註解的方法必須返回一個 Object[ ][ ],其中每個 Object[ ] 可以分配給測試方法的引數列表。想要從這個 DataProvider 接收資料的 @Test 方法需要使用一個數據提供程式名稱,該名稱等於此註解的名稱。

12

@Factory

將方法標記為工廠,該工廠返回 TestNG 將用作測試類的物件。該方法必須返回 Object[ ]。

13

@Listeners

在測試類上定義監聽器。

14

@Parameters

描述如何將引數傳遞給 @Test 方法。

15

@Test

將類或方法標記為測試的一部分。

使用註解的好處

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

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

  • 我們可以向註解傳遞其他引數。

  • 註解是強型別的,因此編譯器會立即標記任何錯誤。

  • 測試類不再需要擴充套件任何內容(例如,對於 JUnit 3 的 TestCase)。

廣告