基本注释(Basic Annotations)
在JUnit 3中指示测试方法的传统方法是在名称前加上test。 这是一种非常有效的方法,用于将类中的某些方法标记为具有特殊含义,但命名不能很好地扩展(如果我们想为不同的框架添加更多标记会怎样?)并且相当不灵活(如果我们怎么办?想要将其他参数传递给测试框架?)。
注释在JDK 5中正式添加到Java语言中,TestNG选择使用注释来注释测试类。
以下是TestNG支持的注释列表 -
Sr.No. | 注释和说明 |
---|---|
1 | @BeforeSuite 带注释的方法将在此套件中的所有测试运行之前运行一次。 |
2 | @AfterSuite 在此套件中的所有测试运行后,带注释的方法将仅运行一次。 |
3 | @BeforeClass 在调用当前类中的第一个测试方法之前,带注释的方法只运行一次。 |
4 | @AfterClass 在当前类中的所有测试方法运行后,带注释的方法将仅运行一次。 |
5 | @BeforeTest 在运行属于标记内的类的任何测试方法之前,将运行带注释的方法。 |
6 | @AfterTest 在运行了属于标记内的类的所有测试方法之后,将运行带注释的方法。 |
7 | @BeforeGroups 此配置方法之前将运行的组列表。 保证在调用属于任何这些组的第一个测试方法之前不久运行此方法。 |
8 | @AfterGroups 此配置方法将在其后运行的组列表。 保证在调用属于任何这些组的最后一个测试方法后不久运行此方法。 |
9 | @BeforeMethod 带注释的方法将在每个测试方法之前运行。 |
10 | @AfterMethod 带注释的方法将在每个测试方法之后运行。 |
11 | @DataProvider 将方法标记为为测试方法提供数据。 带注释的方法必须返回Object [] [],其中每个Object []都可以分配测试方法的参数列表。 想要从此DataProvider接收数据的@Test方法需要使用dataProvider名称等于此批注的名称。 |
12 | @Factory 将方法标记为工厂,返回将由TestNG用作Test类的对象。 该方法必须返回Object []。 |
13 | @Listeners 在测试类上定义侦听器。 |
14 | @Parameters 描述如何将参数传递给@Test方法。 |
15 | @Test 将类或方法标记为测试的一部分。 |
使用注释的好处
以下是使用注释的一些好处 -
TestNG通过查找注释来识别它感兴趣的方法。 因此,方法名称不限于任何模式或格式。
我们可以将其他参数传递给注释。
注释是强类型的,因此编译器会立即标记任何错误。
测试类不再需要扩展任何东西(例如TestCase,对于JUnit 3)。