如何在Jenkins中查看JUnit @ParameterizedTest的执行时间?
解决Jenkins中查看@ParameterizedTest执行时间的问题
核心原因
Jenkins默认JUnit插件旧版本对JUnit 5参数化测试的解析支持不足,或是测试报告生成时未包含参数化测试的实例数据,导致无法展示其执行时间。
具体解决步骤
1. 更新Jenkins测试相关插件
- 安装/更新JUnit Jupiter Plugin(专门支持JUnit 5),同时确保JUnit Plugin升级到最新稳定版本(建议2.100+)。
- 操作路径:Jenkins管理 → 插件管理 → 可选插件,搜索对应插件安装后重启Jenkins。
2. 调整项目构建工具的测试报告配置
确保构建工具(Maven/Gradle)生成包含参数化测试实例的完整报告:
Maven项目(pom.xml)
配置surefire插件以支持JUnit 5参数化测试:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.1.2</version> <configuration> <useModulePath>true</useModulePath> </configuration> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-surefire-provider</artifactId> <version>1.9.3</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.9.3</version> </dependency> </dependencies> </plugin>
Gradle项目(build.gradle)
启用JUnit Platform支持,确保测试报告包含参数化实例:
test { useJUnitPlatform() testLogging { events 'PASSED', 'FAILED', 'SKIPPED' } }
3. 配置Jenkins测试报告解析
在Jenkins项目的构建后步骤中:
- 添加「Publish JUnit test result report」步骤。
- 填写测试报告路径:
- Maven:
**/target/surefire-reports/*.xml - Gradle:
**/build/test-results/test/TEST-*.xml
- Maven:
- 保存配置后重新执行构建。
4. 查看参数化测试执行时间
构建完成后进入测试结果页面:
- 参数化测试会以
测试类名#测试方法名[参数标识]的形式展示(比如MathTest#addTest[1-2-3])。 - 每个参数实例的执行时间会单独显示,点击具体测试项可查看详细耗时数据。
5. 进阶:用Allure报告增强展示(可选)
如果需要更直观的参数化测试时间统计,可集成Allure报告:
- 项目中添加Allure的Maven/Gradle插件依赖。
- Jenkins安装Allure Jenkins Plugin,构建后步骤添加「Publish Allure Report」并指定报告路径。
- Allure会自动汇总每个参数化测试实例的执行时间,生成可视化统计图表。
内容的提问来源于stack exchange,提问作者farhad
相关产品推荐
相关产品推荐

