当前位置: 首页 > news >正文

用 Gradle 实现自动化测试:集成 JUnit、TestNG,生成测试报告

我将为你创建一个使用 Gradle 实现自动化测试的配置,集成 JUnit 和 TestNG 并生成测试报告。

首先,我们需要创建一个 build.gradle 文件,这是 Gradle 项目的核心配置文件:

plugins {// 应用 Java 插件,提供基本的 Java 构建功能id 'java'// 应用 TestNG 插件id 'org.unbroken-dome.testng' version '4.0.0'
}repositories {// 使用 Maven 中央仓库获取依赖mavenCentral()
}dependencies {// JUnit 5 依赖testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'// TestNG 依赖testImplementation 'org.testng:testng:7.5'// 可选:添加断言库testImplementation 'org.assertj:assertj-core:3.24.2'
}test {// 启用 JUnit 平台useJUnitPlatform()// 配置测试报告reports {junitXml {// 启用 XML 报告enabled = true// 报告输出目录destination = file("$buildDir/test-results/junit")}html {// 启用 HTML 报告enabled = true// 报告输出目录destination = file("$buildDir/reports/tests/junit")}}// 测试执行时的日志级别testLogging {events 'PASSED', 'SKIPPED', 'FAILED'}// 允许并行执行测试maxParallelForks = Runtime.runtime.availableProcessors()
}testNG {// 配置 TestNG 测试useTestNG()// 测试报告配置reports {junitXml {enabled = truedestination = file("$buildDir/test-results/testng")}html {enabled = truedestination = file("$buildDir/reports/tests/testng")}}// TestNG 特定配置options {// 可以指定测试套件 XML 文件// suiteXmlFiles = files('src/test/resources/testng.xml')// 启用详细日志verbose = 2// 允许并行执行parallel = 'methods'threadCount = 4}
}// 任务:运行所有测试(JUnit 和 TestNG)
task runAllTests(type: Test) {dependsOn test, testNGgroup = 'Verification'description = 'Runs all tests (JUnit and TestNG)'
}// 配置测试源目录
sourceSets {test {java {srcDirs = ['src/test/java']}resources {srcDirs = ['src/test/resources']}}
}

为了更好地组织测试,我们可以创建一个 TestNG 测试套件配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="All Tests Suite" parallel="methods" thread-count="4"><test name="TestNG Tests"><packages><package name="com.example.testng"/></packages></test>
</suite>

项目结构说明

建议的项目结构如下:

project-root/
├── build.gradle
├── src/
│   ├── main/
│   │   └── java/
│   │       └── com/
│   │           └── example/
│   │               └── 你的业务代码
│   └── test/
│       ├── java/
│       │   ├── com/
│       │   │   └── example/
│       │   │       ├── junit/  # JUnit 测试类
│       │   │       └── testng/ # TestNG 测试类
│       └── resources/
│           └── testng.xml     # TestNG 配置文件

使用方法

  1. 将上述配置文件添加到你的项目中
  2. 在相应的目录下编写 JUnit 和 TestNG 测试用例
  3. 运行以下 Gradle 命令:
  • 运行所有测试(JUnit 和 TestNG):./gradlew runAllTests
  • 只运行 JUnit 测试:./gradlew test
  • 只运行 TestNG 测试:./gradlew testNG
  • 生成测试报告:测试执行后自动生成,无需额外命令

测试报告位置

  • JUnit 测试报告:build/reports/tests/junit/index.html
  • TestNG 测试报告:build/reports/tests/testng/index.html

这些报告包含了详细的测试结果,包括通过的测试、失败的测试、跳过的测试以及执行时间等信息,方便你分析测试结果。

http://www.dtcms.com/a/477751.html

相关文章:

  • 邵阳市住房和建设局网站西安做网站收费价格
  • 【QT界面设计学习篇】qt快速开发技巧
  • Hadoop面试题及详细答案 110题 (86-95)-- Hadoop生态系统工具
  • 基于单片机电器断路器保护器系统Proteus仿真(含全部资料)
  • 如何做天猫网站怎么做win10原版系统下载网站
  • FocusAny开源 #2:速算本Calculator
  • Typecho独立页面能否支持多个自定义永久链接路径(如 /special/ 和 /other/)
  • uniapp学习【路由跳转 +数据请求+本地存储+常用组件】
  • ads基本量的含义和计算方程(1.直流扫描)
  • ORACLE 高危漏洞(9.8分)
  • 【检索:LSM】7、LSM树深度解析:为什么日志系统首选LSM树而非B+树?从原理到实践
  • 网站推广句子快照关键词优化
  • (解决)重装系统电脑账户进不去被停用,PIN无法验证,提示0xc0000234
  • 属于门户网站的有个人网站制作多少钱
  • wpf 命令理解
  • [好用工具] 一款mac/windows电脑历史剪切板工具,类似著名的Paste
  • 【Qt开发】输入类控件(七)-> QSlider
  • Oracle Exadata一体机简介 1千多个W
  • Caffeinated for Mac 防止屏幕睡眠工具
  • Trae官网炫酷特效与vue-bits的使用
  • 网站内页修改关键字抖音广告投放平台官网
  • Artstudio Pro for Mac 绘图与图片编辑软件
  • 上班没事做看什么网站wordpress主题官方
  • .NET Framework 4.0和Visual Studio 2010的串口通信类
  • 20自由度全驱动:赋能Tesollo五指灵巧手精细柔性作业新可能
  • 基于FastAPI与LangChain的Excel智能数据分析API开发实践
  • 【四级】全国大学英语四级历年真题及答案解析PDF电子版(2015-2025年6月)
  • 专业制造双轴倾角传感器与水平监测传感器的优质厂家分析
  • QtitanNavigation赋能工业制造:提升生产效率的界面导航利器
  • 网站不备案做优化网站建设 中软