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

Jenkins Pipeline中JUnit插件分阶段展示测试结果的实现咨询

解决Jenkins Pipeline多阶段JUnit测试结果独立展示的问题

嘿,这个问题我之前帮团队处理过,其实Jenkins的JUnit插件本身就支持给不同阶段的测试结果生成独立的图表和报告,核心就是给每个阶段的测试结果设置唯一的结果集名称,避免两次报告覆盖导致的数据混乱。

具体实现步骤

你只需要在每个Stage的post步骤中调用junit时,额外指定aggregatedResultsReportName参数,给每个阶段的测试结果起个独特的名字。同时要确保每个阶段的测试报告路径是独立的,不要混在一起。

举个完整的Pipeline示例:

pipeline {
    agent any
    stages {
        stage('Stage 1: 700个单元测试') {
            steps {
                // 这里替换成你执行第一阶段测试的命令,比如Maven/Gradle命令
                sh 'mvn test -Dtest=UnitTestSuite*'
            }
            post {
                always {
                    // 指定第一阶段的测试报告路径,同时设置唯一的报告名称
                    junit(
                        testResults: 'target/surefire-reports/TEST-UnitTestSuite*.xml',
                        aggregatedResultsReportName: '单元测试 - 阶段1',
                        allowEmptyResults: true
                    )
                }
            }
        }
        stage('Stage 2: 100个集成测试') {
            steps {
                // 替换成你执行第二阶段测试的命令
                sh 'mvn test -Dtest=IntegrationTestSuite*'
            }
            post {
                always {
                    // 指定第二阶段的测试报告路径,设置另一个唯一名称
                    junit(
                        testResults: 'target/surefire-reports/TEST-IntegrationTestSuite*.xml',
                        aggregatedResultsReportName: '集成测试 - 阶段2',
                        allowEmptyResults: true
                    )
                }
            }
        }
    }
}

关键参数说明

  • aggregatedResultsReportName:这个参数是JUnit插件专门用来区分不同测试结果集的,设置不同的名称后,Jenkins会为每个结果集生成独立的统计图表和报告模块,不会再出现覆盖导致的峰值问题。
  • testResults:务必指定当前阶段专属的测试报告XML路径,避免和其他阶段的报告混在一起,确保数据准确。
  • allowEmptyResults:可选参数,如果允许测试失败或无结果时继续构建,就设为true,反之设为false。

效果验证

设置完成后,回到Jenkins任务的概览页(流水线步骤上方),你会看到两个独立的JUnit结果模块:每个模块都有自己的通过率趋势图、测试总数/失败数统计,点击进去还能查看对应阶段的详细测试报告,完全实现了两个阶段测试结果的独立展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:34:20