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

在Jenkins管道上使用多个JUnit结果文件,jenkins,junit,jenkins-pipeline,Jenkins,Junit,Jenkins Pipeline,在我的Jenkins pipleline上,我在调试和发布配置上运行单元测试。每个测试配置生成单独的JUnitXML结果文件。调试和发布配置上的测试名称相同。目前,我使用以下junit命令来显示测试结果: junit允许mptyresults:true,healthScaleFactor:0.0,keepLongStdio:true,testResults:'testdir/Artifacts/Test\u xml\u reports\u*/*.xml' 问题是在Jenkins UI上:调试和发

在我的Jenkins pipleline上,我在调试和发布配置上运行单元测试。每个测试配置生成单独的JUnitXML结果文件。调试和发布配置上的测试名称相同。目前,我使用以下
junit
命令来显示测试结果:

junit允许mptyresults:true,healthScaleFactor:0.0,keepLongStdio:true,testResults:'testdir/Artifacts/Test\u xml\u reports\u*/*.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。

您有没有找到解决方案?我遇到了同样的问题。我修改了XML格式,并将构建变量名(debug/release)作为包名,以防止出现同样的问题。我想在结果中区分单元测试和集成测试。这就是Jenkins管道与junit测试结果的相似之处:“*/target/surefire reports/.xml,*/target/failsafe reports/.xml”,但Jenkins只是合并了这两个报告,我无法区分单元测试和集成测试?