TestNG API常用参数

本文详细介绍了TestNG框架中各种注解的用途及属性,包括@BeforeSuite、@AfterSuite等生命周期注解,以及@Test、@DataProvider等测试用例注解,并解释了它们如何帮助组织和执行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注释

  以下是TestNG中可用的注释及其属性的简要概述。

  @BeforeSuite:
  在此套件中的所有测试运行之前,将运行带注释的方法。
  @AfterSuite:
  在此套件中的所有测试都运行之后,将会运行带注释的方法。
  @BeforeTest:
  在任何属于<test>标签内的类的测试方法运行之前,将会运行带注释的方法。
  @AfterTest:
  在所有属于<test>标记内的类的测试方法都运行之后,将会运行带注释的方法。
  @BeforeGroups:
  此配置方法将运行之前的组列表。这种方法保证在第一个属于这些组中的任何一个的测试方法被调用之前运行。
  @AfterGroups:
  这个配置方法将在之后运行的组列表。这种方法保证在最后一个属于这些组中的最后一个测试方法被调用后马上运行。
  @BeforeClass:
  注释的方法将在当前类中的第一个测试方法被调用之前运行。
  @AfterClass:
  在当前类的所有测试方法都运行之后,将会运行带注释的方法。
  @BeforeMethod:
  注解的方法将在每个测试方法之前运行。
  @AfterMethod:
  注解的方法将在每个测试方法之后运行。

  TestNG类的超类中的注释行为

  当放置在TestNG类的超类上时,上面的注释也将被承认(继承)。
  这对于例如集中在一个公共超类中的多个测试类的测试设置是有用的。
  在这种情况下,TestNG保证以继承顺序执行“@Before”方法
  (首先是最高超类,然后是继承链),然后是相反顺序的“@After”方法(继承链)。

  alwaysRun:
  对于之前的方法(beforeSuite,beforeTest,beforeTestClass和beforeTestMethod,但不是beforeGroups):
  如果设置为true,则将运行此配置方法,而不管它属于哪个组。
  对于after方法(afterSuite,afterClass,...):
  如果设置为true,则即使先前调用的一个或多个方法失败或被跳过,也将运行此配置方法。
  dependsOnGroups:
  该方法依赖的组列表。
  dependsOnMethods:
  这个方法依赖的方法列表。
  enabled:
  是否启用此类/方法的方法。
  groups:
  这个类/方法所属的组的列表。
  inheritGroups:
  如果为true,则此方法将属于在类级别的@Test注释中指定的组。

  @dataProvider:
  将方法标记为为测试方法提供数据。
  带注释的方法必须返回一个Object [] [],其中每个Object []可以被分配测试方法的参数列表。
  想从这个DataProvider接收数据的@Test方法需要使用一个dataProvider名字,这个名字等于这个注释的名字。
  name:
  这个数据提供者的名字。如果未提供,则此数据提供者的名称将自动设置为方法的名称。
  parallel:
  如果设置为true,则使用此数据提供者生成的测试将并行运行。默认值是false。

  @Factory:
  将一个方法标记为一个工厂,返回将被TestNG用作Test类的对象。该方法必须返回Object []。

  @Listeners:
  定义一个测试类的监听器。
  value:
  一个扩展org.testng.ITestNGListener的类的数组。

  @Parameters:
  介绍如何将参数传递给@Test方法。
  value:
  用于填充此方法参数的变量列表。

  @Test:
  标记一个类或方法作为测试的一部分。
  alwaysRun:
  如果设置为true,则即使依赖于失败的方法,也将始终运行此测试方法。
  dataProvider:
  此测试方法的数据提供者的名称。
  dataProviderClass:
  在哪里寻找数据提供者。
  如果没有指定,数据提供者将被查看当前测试方法的类或其基类之一。
  如果指定了此属性,则数据提供者方法在指定的类上需要是静态的。
  dependsOnGroups:
  该方法依赖的组列表。
  dependsOnMethods:
  这个方法依赖的方法列表。
  description:
  这个方法的描述。
  enabled:
  是否启用此类/方法的方法。
  expectedExceptions:
  预期测试方法将抛出的异常列表。
  如果这个列表中没有任何例外或者不同于这个列表,那么这个测试将被标记为失败。
  groups:
  这个类/方法所属的组的列表。
  invocationCount:
  这个方法应该被调用的次数。
  invocationTimeOut:
  此测试在所有调用计数的累计时间内应采用的最大毫秒数。
  如果未指定invocationCount,则此属性将被忽略。
  priority:
  这个测试方法的优先级。低优先级将首先安排。
  successPercentage:
  这种方法预期的成功率
  singleThreaded:
  如果设置为true,即使当前正在使用parallel=“methods”运行测试,
  也将保证此测试类中的所有方法都在同一个线程中运行。
  该属性只能在类级别使用,如果在方法级别使用,则该属性将被忽略。
  注意:此属性过去被称为顺序(现已弃用)。
  timeOut:
  此测试应该采用的最大毫秒数。
  threadPoolSize:
  此方法的线程池的大小。
  该方法将由invocationCount指定的多个线程调用。
  注意:如果未指定invocationCount,则忽略此属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值