在 Jenkins 管道上使用多个 JUnit 结果文件

using multiple JUnit results file on Jenkins pipeline

在我的 Jenkins 流水线上,我 运行 对两者进行了单元测试:调试和发布配置。每个测试配置都会生成单独的 JUnit XML 结果文件。两者的测试名称:调试和发布配置相同。目前我使用以下 junit 命令来显示测试结果:

junit allowEmptyResults: true, healthScaleFactor: 0.0, keepLongStdio: true, testResults: 'Test-Dir/Artifacts/test_xml_reports_*/*.xml'

问题是在 Jenkins UI 上:调试和发布测试结果一起显示,无法知道哪个测试(从调试或发布配置)失败。 是否可以单独显示调试和发布测试结果?如果是,我该怎么做?

我的问题看起来没有解决方案。 作为解决方法,我更改了 JUnit XML 报告格式并将构建变体名称 (debug/release) 作为包名称包含在内。

我们 运行 针对具有不同数据库类型的两种不同配置进行相同的集成测试。我们使用 maven 和 failsafe 插件,所以我利用了 -Dsurefire.reportNameSuffix,所以我可以看到两个 运行 之间的区别。

以下是我们Jenkinsfile的示例块:

    stage('Integration test MySql') {
        steps {
            timeout(75) {
                sh("mvn -e verify -DskipUnitTests=true -DtestConfigResource=conf/mysql-local.yaml " +
                    "-DintegrationForkCount=1 -DdbInitMode=migrations -Dmaven.test.failure.ignore=false " +
                    "-Dsurefire.reportNameSuffix=MYSQL")
            }
        }
        post {
            always {
                junit '**/failsafe-reports/*MYSQL.xml'
            }
        }
    }

在报告中,针对 mysql 的集成测试 运行 然后在其名称后附加了 MYSQL。