文章插图
【TestNG Java自动化测试框架——分组测试】我们在测试时 , 可能会遇到以下几种测试分组的场景:
- 一个测试类当中有多个测试方法 , 只想执行其中的几个相关的测试方法 。
- 当几个相关的方法依赖相同的 setUp、tearDown操作 。
- 当某个方法依赖几个相关的方法时 , 如几个相关的方法执行通过后 , 才执行该方法 。
分组测试是TestNG中的一个新的创新功能 , 它在JUnit框架中是不存在的 。在文中 , 我们将演示如何在TestNG中进行分组测试 。
场景一:一个测试类当中有多个测试方法 , 只想执行其中的几个相关的测试方法 。代码示例如下 , 我们将TestDemo测试类的四个方法 , 通过@Test(groups = "") 方式 , 分成了两个组 , 分别为apiTest、databaseTest 。
package framework.parse;import org.testng.annotations.AfterGroups;import org.testng.annotations.BeforeGroups;import org.testng.annotations.Test;public class TestDemo {@Test(groups = "apiTest")public void runApi1() {System.out.println("runApi1()");}@Test(groups = "apiTest")public void runApi2() {System.out.println("runApi2()1");}@Test(groups = "databaseTest")public void testOracle() {System.out.println("testOracle()");}@Test(groups = "databaseTest")public void testMySQL() {System.out.println("testMySQL");}}
通过testng.xml文件进行运行配置管理 , 如下 , 我们仅运行framework.parse.TestDemo测试类中的databaseTest分组 。<?xml version="1.0" encoding="UTF-8"?><suite name="TestSuite"><test name="testDemo"><groups><run><include name="databaseTest" /></run></groups><classes><class name="framework.parse.TestDemo" /></classes></test></suite>
运行结果如下:Run testMySqlRun testOracle===============================================TestSuiteTotal tests run: 2, Passes: 2, Failures: 0, Skips: 0===============================================
推荐阅读
- 终于还是打开了这个可以学习JavaScript的教程
- JVM原理介绍
- 40+岁老测试员的生涯回顾,Python自动化从业十年是种什么体验?
- Java - Objects工具类
- Excel 数据库函数实现自动化报表
- JAVA多线程-ConcurrentMap
- 这些 Java 8 官方挖的坑,你踩过几个?
- Alibaba开源Java诊断工具Arthas简单介绍
- 14个 JavaScript 代码优化技巧
- 31 道 Java 核心面试题,统统打包给你