TestNG - 基本注释


在 JUnit 3 中指示测试方法的传统方法是在其名称前加上 test 前缀。这是一种非常有效的方法,可以将类中的某些方法标记为具有特殊含义,但是命名的扩展性不太好(如果我们想为不同的框架添加更多标记怎么办?)并且相当不灵活(如果我们想为不同的框架添加更多标记怎么办?)想要将附加参数传递给测试框架吗?)。

注解在 JDK 5 中正式添加到 Java 语言中,TestNG 选择使用注解来注解测试类。

以下是 TestNG 支持的注释列表 -

先生。 注释和描述
1

@BeforeSuite

在该套件中的所有测试运行之前,带注释的方法将仅运行一次。

2

@AfterSuite

带注释的方法将仅在该套件中的所有测试运行后运行一次。

3

@课前

在调用当前类中的第一个测试方法之前,带注释的方法将仅运行一次。

4

@下课以后

被注解的方法只会在当前类中的所有测试方法运行完毕后运行一次。

5

@测试前

带注释的方法将在运行属于 <test> 标记内的类的任何测试方法之前运行。

6

@测试后

带注释的方法将在属于 <test> 标记内的类的所有测试方法运行后运行。

7

@BeforeGroups

此配置方法之前将运行的组的列表。该方法保证在调用属于任何这些组的第一个测试方法之前不久运行。

8

@AfterGroups

此配置方法将在其后运行的组列表。该方法保证在调用属于任何这些组的最后一个测试方法后不久运行。

9

@方法之前

带注释的方法将在每个测试方法之前运行。

10

@AfterMethod

带注释的方法将在每个测试方法之后运行。

11

@DataProvider

将方法标记为为测试方法提供数据。被注释的方法必须返回一个Object[][],其中每个Object[]可以被分配测试方法的参数列表。想要从此 DataProvider 接收数据的 @Test 方法需要使用与该批注名称相同的 dataProvider 名称。

12

@工厂

将方法标记为工厂,该工厂返回将由 TestNG 作为测试类使用的对象。该方法必须返回 Object[ ]。

13

@听众

定义测试类的侦听器。

14

@参数

描述如何将参数传递给@Test方法。

15

@测试

将类或方法标记为测试的一部分。

使用注释的好处

以下是使用注释的一些好处 -

  • TestNG 通过查找注释来识别它感兴趣的方法。因此,方法名称不限于任何模式或格式。

  • 我们可以将附加参数传递给注释。

  • 注释是强类型的,因此编译器会立即标记任何错误。

  • 测试类不再需要扩展任何东西(例如 JUnit 3 的 TestCase)。