【译】TestNG官方文档中文版(02)—— Annotation

来源:互联网 发布:电视有线网络连接设置 编辑:程序博客网 时间:2024/05/10 01:45

2 - Annotations

如下就是在TestNG中可以使用的annotation的速查预览,并且其中给出了属性:

@BeforeSuite
@AfterSuite
@BeforeTest
@AfterTest
@BeforeGroups
@AfterGroups
@BeforeClass
@AfterClass
@BeforeMethod
@AfterMethod
TestNG 类的配置信息:

@BeforeSuite: 被注解的方法,会在当前suite中所有测试方法之 前 被调用。
@AfterSuite: 被注解的方法,会在当前suite中所有测试方法之 后 被调用。
@BeforeTest: 被注解的方法,会在测试(原文就是测试,不是测试方法)运行 前 被调用
@AfterTest: 被注解的方法,会在测试(原文就是测试,不是测试方法)运行 后 被调用
@BeforeGroups: 被注解的方法会在组列表中之前被调用。这个方法会在每个组中第一个测试方法被调用之前被调用。
@AfterGroups: 被注解的方法会在组列表中之后被调用。这个方法会在每个组中最后一个测试方法被调用之后被调用。
@BeforeClass: 被注解的方法,会在当前类第一个测试方法运行前被调用
@AfterClass: 被注解的方法,会在当前类所有测试方法运行后被调用
@BeforeMethod: 被注解的方法,会在运行每个测试方法之前调用
@AfterMethod: 被注解的方法,会在每个测试方法运行之后被调用

alwaysRun对于在方法之前的调用(beforeSuite, beforeTest, beforeTestClass 和 beforeTestMethod, 除了beforeGroups): 若为true,这个配置方法无视其所属的组而运行
对于在方法之后的调用(afterSuite, afterClass, ...): 若为true, 这个配置方法会运行,即使其之前一个或者多个被调用的方法失败或者被跳过。

dependsOnGroups方法所依赖的一组group列表
dependsOnMethods方法所依赖的一组method列表
enabled在当前class/method中被此annotation标记的方法是否参与测试(不启用则不在测试中运行)
groups一组group列表,指明了这个class/method的所属。
inheritGroups如果是true,则此方法会从属于在类级由@Test注解中所指定的组 @DataProvider把此方法标记为为测试方法提供数据的方法。被此注释标记的方法必须返回Object[][],其中的每个Object[]可以被分配给测试方法列表中的方法当做参数。那些需要从DataProvider接受数据的@Test方法,需要使用一个dataprovider名字,此名称必须与这个注解中的名字相同。
nameDataProvider的名字 @Factory把一个方法标记为工厂方法,并且必须返回被TestNG测试类所使用的对象们。 此方法必须返回 Object[]。 @Parameters说明如何给一个 @Test 方法传参。
value方法参数变量的列表 @Test把一个类或者方法标记为测试的一部分。
alwaysRun如果为true,则这个测试方法即使在其所以来的方法为失败时也总会被运行。
dataProvider这个测试方法的dataProvider
dataProviderClass指明去那里找data provider类。如果不指定,那么就当前测试方法所在的类或者它个一个基类中去找。如果指定了,那么data provider方法必须是指定的类中的静态方法。
dependsOnGroups方法所依赖的一组group列表
dependsOnMethods方法所以来的一组method列表
description方法的说明
enabled在当前class/method中被此annotation标记的方法是否参与测试(不启用则不在测试中运行)
expectedExceptions此方法会抛出的异常列表。如果没有异常或者一个不在列表中的异常被抛出,则测试被标记为失败。
groups一组group列表,指明了这个class/method的所属。
invocationCount方法被调用的次数。
invocationTimeOut当前测试中所有调用累计时间的最大毫秒数。如果invocationCount属性没有指定,那么此属性会被忽略。
successPercentage当前方法执行所期望的success的百分比
sequential如果是true,那么测试类中所有的方法都是按照其定义顺序执行,即使是当前的测试使用parallel="methods"。此属性只能用在类级别,如果用在方法级,就会被忽略。
timeOut当前测试所能运行的最大毫秒数
threadPoolSize此方法线程池的大小。 此方法会根据制定的invocationCount值,以多个线程进行调用。
注意:如果没有指定invocationCount属性,那么此属性就会被忽略
原创粉丝点击