TestNG - 基本注解

  • 简述

    在 JUnit 3 中指示测试方法的传统方法是在它们的名称前加上 test。这是将类中的某些方法标记为具有特殊含义的一种非常有效的方法,但是命名不能很好地扩展(如果我们想为不同的框架添加更多标签怎么办?)并且相当不灵活(如果我们想要将额外的参数传递给测试框架?)。
    在 JDK 5 中,注解正式添加到 Java 语言中,TestNG 选择使用注解来注解测试类。
    以下是 TestNG 支持的注解列表 -
    序号 注解和描述
    1
    在此套件中的所有测试运行之前,带注解的方法将只运行一次。
    2
    在此套件中的所有测试都运行后,带注解的方法将只运行一次。
    3
    在调用当前类中的第一个测试方法之前,带注解的方法将只运行一次。
    4
    在当前类中的所有测试方法都运行后,带注解的方法将只运行一次。
    5
    带注解的方法将在任何属于 <test> 标签内的类的测试方法运行之前运行。
    6
    注解的方法将在属于 <test> 标签内的类的所有测试方法运行后运行。
    7
    此配置方法之前将运行的组列表。此方法保证在调用属于任何这些组的第一个测试方法之前不久运行。
    8
    此配置方法将在其后运行的组列表。此方法保证在调用属于任何这些组的最后一个测试方法后不久运行。
    9
    注解的方法将在每个测试方法之前运行。
    10
    注解的方法将在每个测试方法之后运行。
    11
    将方法标记为为测试方法提供数据。带注解的方法必须返回一个 Object[ ][ ],其中每个 Object[ ] 都可以分配测试方法的参数列表。想要从这个 DataProvider 接收数据的@Test 方法需要使用一个与这个注解的名称相等的 dataProvider 名称。
    12
    @Factory
    将方法标记为工厂,该工厂返回将由 TestNG 用作测试类的对象。该方法必须返回 Object[]。
    13
    在测试类上定义侦听器。
    14
    描述如何将参数传递给 @Test 方法。
    15
    将类或方法标记为测试的一部分。
  • 使用注解的好处

    以下是使用注解的一些好处 -
    • TestNG 通过查找注解来识别它感兴趣的方法。因此,方法名称不限于任何模式或格式。
    • 我们可以将额外的参数传递给注解。
    • 注解是强类型的,因此编译器会立即标记任何错误。
    • 测试类不再需要扩展任何东西(例如 JUnit 3 的 TestCase)。