TestNG使用方法

  1. idea中我们需要引入对应的testng插件,在File -> settings -> plugins中搜索testng,如果出现结果说明已经安装,否则去market中安装对应的插件
  2. 在依赖文件中引入TestNG 所需的依赖,基本可以使用 TestNG 所有配置。注意继承 AbstractTestNGSpringContextTests ,并使用 SpringBootTest 注解。
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.10</version>
    <scope>test</scope>
</dependency>

3、创建我们测试需要基类,基类需要继承AbstractTestNGSpringContextTests,并且指定我们需要测试的bean的定义,在@SpringBootTest中,可以通过配置文件或者配置类的方式来指定bean范围,classes需要注入的类如果依赖比较简单较少,可以指定classes的具体类,如果比较多,可以直接指定springboot的启动类

4、如下图,选中想要生成单元测试的类名,alt+enter,选择create Test,根据提示选择想要生成的相关测试的方法,在对应的Test目录生成测试类。

5、TestNG的注解属性解释

注解

描述

@DataProvider

为测试方法提供数据

@BeforeMethod

在每个测试方法 前 执行

@AfterMethod

在每个测试方法 后 执行

@BeforeClass

添加注解的方法将在当前类的第一个测试方法调用前运行

@AfterClass

添加注解的方法将在当前类的所有测试方法调用后运行

@BeforeGroups

被配置的方法将在列表中的gourp前运行。这个方法保证在第一个属于这些组的测试方法调用前立即执行

@BeforeTest

添加注解的方法将在测试运行前运行

@AfterTest

添加注解的方法将在测试运行后运行

@BeforeSuite

添加注解的方法将在所有测试运行前运行

@AfterSuite

添加注解的方法将在所有测试运行后运行

另外还有一些属性,

(1)alwaysRun:对于每个before方法(beforeSuite, beforeTest, beforeTestClass 和beforeTestMethod,  但是不包括 beforeGroups):如果设置为true,被配置的方法将总是运行而不管它属于哪个组。对于after方法(afterSuite, afterClass, ...): 如果设置为true,被配置的方法甚至在一个或多个先调用的方法失败或被忽略时也将运行。

(2)dependsOnGroups:这个方法依赖的组列表

(3)dependsOnMethod:这个方法依赖的方法列表

(4)enabled:这个类的方法是否激活

(5)groups:这个类或方法所属的分组列表

(6)inheritGroups:如果设置为true,这个方法被属于在类级别被@Test annotation指定的组例如:

1 @Test(enabled = false)    //表示该测试用例不被执行
2 public Object runTest() {      
3      xxxxxx
4  }

具体使用测试demo

@BeforeClass,@AfterClass,这两个注解修饰的方法只会执行一次

@BeforeMethod,@AfterMethod,会在每一个@Test方法前后都执行

testNG中有组的概念,可以在@Test中添加groups参数设定该方法是属于哪个组,还有一个priority属性可以设置当前方法在当前测试类中第几个执行(此时的顺序与组无关) @Test(priority = 9,groups = "aaa"),enable属性可以控制当前测试方法是否执行

@AfterGroups , @BeforeGroups这个两个注解是在指定的组前后执行,只会执行一次

@dataProvider注解可以为需要参数的测试方法提供参数,参数里面可以提供多组数据,做覆盖测试

testNG还可以通过xml文件来做定制化的详细测试,通过配置文件测试可以一次性测试多个类,定制需要测试的范围,测试的参数等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值