TestNG学习-注解的总结

简介: TestNG学习-注解的总结

这是TestNG中可用的注释及其属性的快速概述。

TestNG类的配置信息:

@BeforeSuite:带注释的方法将在该套件中的所有测试运行之前运行。
@AfterSuite:带注释的方法将在运行此套件中的所有测试之后运行。
@BeforeTest:带注释的方法将在运行任何属于<test>标记内的类的测试方法之前运行。
@AfterTest:带注释的方法将在所有属于<test>标记内的类的测试方法运行后运行。
@BeforeGroups:此配置方法将在其之前运行的组的列表。保证此方法可以在调用属于任何一个组的第一个测试方法之前不久运行。
@AfterGroups:此配置方法将在其后运行的组的列表。保证在调用属于这些组中任何一个的最后一个测试方法后不久便可以运行该方法。
@BeforeClass:带注释的方法将在调用当前类中的第一个测试方法之前运行。
@AfterClass:带注释的方法将在运行当前类中的所有测试方法之后运行。
@BeforeMethod:带注释的方法将在每个测试方法之前运行。
@AfterMethod:带注释的方法将在每个测试方法之后运行。
方法说明:
alwaysRun: 对于before方法(beforeSuite,beforeTest,beforeTestClass和beforeTestMethod,但不是beforeGroups):如果设置为true,则无论配置文件属于哪个组,都将运行此配置方法。
            对于after方法(afterSuite,afterClass,...):如果设置为true,则即使先前调用的一个或多个方法失败或被跳过,此配置方法也将运行。
dependsOnGroups:此方法所依赖的组列表。
dependsOnMethods:此方法所依赖的方法列表。
enabled:是否启用了此类/方法上的方法。
groups:此类/方法所属的组的列表。
inheritGroups:如果为true,则此方法将属于在类级别@Test注释中指定的组。
onlyForGroups:仅适用于@BeforeMethod和@AfterMethod。 如果指定,则仅当相应的测试方法属于列出的组之一时,才调用此setup / teardown方法。

TestNG类的超类中注释的行为

   当放置在TestNG类的超类上时,上面的注释也将被继承(继承)。例如,这对于集中公共超类中多个测试类的测试设置很有用。

   在这种情况下,TestNG保证“ @Before”方法以继承顺序执行(首先是最高父类,然后沿着继承链执行),“ @ After”方法以相反的顺序执行(沿着继承链执行)。


@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,则忽略此属性

以上就是TestNG的注解了,来记录下,方便后续的查阅和回顾~

相关文章
|
2月前
|
Java 测试技术 持续交付
Springboot中JUNIT5单元测试+Mockito详解
Springboot中JUNIT5单元测试+Mockito详解
211 1
|
3月前
|
Java 测试技术 Maven
Spring整合JUnit实现单元测试
本文介绍了如何在Java开发中使用Spring与JUnit进行单元测试。首先,设置JUnit和Spring环境,创建待测试的业务逻辑类,如MyService。接着,编写JUnit测试类MyServiceTest,使用`@RunWith(SpringJUnit4ClassRunner.class)`和`@ContextConfiguration`注解,注入并测试MyService的方法。此外,借助Mockito模拟依赖对象,以及使用Spring TestContext框架进行集成测试,确保测试的隔离性和环境的稳定性。通过这些方法,可以提升代码质量和测试效率。
43 1
|
Java 测试技术 Spring
Mockito + Junit + SpringBoot进行单元测试
Mockito + Junit + SpringBoot进行单元测试
236 0
|
druid Java 数据库连接
Spring整合Mybatis&Junit单元测试
Spring整合Mybatis&Junit单元测试
|
Java 测试技术 数据库连接
SSM项目使用junit单元测试时Mybatis通配符加载Mapper不能正常加载
SSM项目使用junit单元测试时Mybatis通配符加载Mapper不能正常加载
232 2
|
XML 数据格式
TestNG学习-依赖注入
TestNG学习-依赖注入
|
XML 数据格式
TestNG学习-beanshell、注解转换和方法拦截器
TestNG学习-beanshell、注解转换和方法拦截器
|
监控 Java 测试技术
spring单元测试之Mockito
Mockito 是一个针对 Java 的单元测试模拟框架,它与 EasyMock 和 jMock 很相似,都是为了简化单元测试过程中测试上下文 ( 或者称之为测试驱动函数以及桩函数 ) 的搭建而开发的工具
|
Java 测试技术 Spring
spring学习13-使用junit4进行单元测试续
spring学习13-使用junit4进行单元测试续
86 0
spring学习13-使用junit4进行单元测试续
|
测试技术
软件测试面试题:TestNG中注解?
软件测试面试题:TestNG中注解?
125 0