简介: TestNG的官方文档的中文翻译版第二章,原文请见 http://testng.org/doc/documentation-main.html2 - Annotation这里是TestNG中用到的annotation的快速预览,还有它们的属性。
下面是 TestNG 中可用的注释及其属性的快速概述:
@BeforeSuite @AfterSuite @BeforeTest @AfterTest @BeforeGroups @AfterGroups @BeforeClass @AfterClass @BeforeMethod @AfterMethod |
TestNG类的配置信息 : 在TestNG类的超类中注释的行为 | |
alwaysRun | 对于before方法(beforeSuite, beforeTest, beforeTestClass和beforeTestMethod,但不包括beforeGroups):如果设置为true,这个配置方法将运行,无论它属于哪个组。 对于after方法(afterSuite, afterClass,…):如果设置为true,即使之前调用的一个或多个方法失败或被跳过,这个配置方法也会运行。 | |
dependsOnGroups | 此方法所依赖的组列表。 | |
dependsOnMethods | 此方法所依赖的方法列表 | |
enabled | 这个类的方法是否激活 | |
groups | 该类/方法所属的组列表 | |
inheritGroups | 如果为true,此方法属于在类级别被@Test注解指定的组 | |
onlyForGroups | 只适用于@BeforeMethod和@AfterMethod。如果指定,则只有当对应的测试方法属于列出的组之一时,才会调用此setup/teardown方法。 |
@DataProvider |
标记一个方法用于为测试方法提供数据。 带有该注解的方法,必须返回一个 Object[][],其中每个 Object[] 都可以成为对接测试方法的参数列表。从这个DataProvider接收数据@Test方法需要使用一个和当前注释相同名称的dataProvider名称 | |
name | 当前DataProvier方法的名称。如果不传入时,默认使用该方法的methodName。 | |
parallel | 如果设置为true,则使用该方法提供数据的测试方法,将并行(多线程)执行。默认值为false | |
@Factory | 标记方法作为一个返回对象的工厂,这些对象将被TestNG用于作为测试类。这个方法必须返回Object[] | |
@Listeners | 在测试类上,定义监听器。 | |
value | 一个继承了 org.testng.ITestNGListener 的类的数组 | |
@Parameters | 描述如何传递参数给@Test方法 | |
value | 用于填充这个方法的参数的变量列表 | |
@Test | 标记一个类或方法作为测试的一部分 | |
alwaysRun | 如果设置为true,在依赖的测试方法执行失败后,此测试方法也会执行。 | |
dataProvider | 这个测试方法的dataprovider的名称 | |
dataProviderClass |
用于查找data provider的类。 如果不指定,将在当前测试方法所在的类或者它的基类上查找data provider。 如果这个属性被指定, 则data provider方法需要是指定类的static方法。 | |
dependsOnGroups | 此测试方法依赖的组列表。 | |
dependsOnMethods | 此测试方法依赖的方法列表。 | |
description | 测试方法的描述 | |
enabled | 当前类的方法或方法是否被激活 | |
expectedExceptions | 测试方法期望抛出的异常列表。如果没有异常或者抛出的不是列表中的任何一个,当前方法都将标记为失败. | |
groups | 当前类/方法所属的组列表 | |
invocationCount | 当前方法被调用的次数 | |
invocationTimeOut | 此测试方法在所有每次调用的累计时间中所花费的最大时长,单位毫秒。如果未指定invocationCount,则将忽略此属性。 | |
priority | 此测试方法的优先级。序号小的优先执行 | |
successPercentage | 当前方法期望的成功率 | |
singleThreaded |
如果设置为true,当前测试类上的所有方法保证按照顺序运行。甚至测试们在parallel="true"的情况下. 注意:此属性过去被称为sequential(现在已弃用)。 | |
timeOut | 当前方法容许花费的最大时间,单位毫秒。(超时后会报失败) | |
threadPoolSize | 当前方法的线程池大小。方法将被多线程调用,次数由invocationCount参数指定 注意:如果invocationCount没有指定则这个属性将被忽略 |