You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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
  • 保存配置后重新执行构建。

4. 查看参数化测试执行时间

构建完成后进入测试结果页面:

  • 参数化测试会以测试类名#测试方法名[参数标识]的形式展示(比如MathTest#addTest[1-2-3])。
  • 每个参数实例的执行时间会单独显示,点击具体测试项可查看详细耗时数据。

5. 进阶:用Allure报告增强展示(可选)

如果需要更直观的参数化测试时间统计,可集成Allure报告:

  • 项目中添加Allure的Maven/Gradle插件依赖。
  • Jenkins安装Allure Jenkins Plugin,构建后步骤添加「Publish Allure Report」并指定报告路径。
  • Allure会自动汇总每个参数化测试实例的执行时间,生成可视化统计图表。

内容的提问来源于stack exchange,提问作者farhad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 11:01:04