我想我的问题与Multiple JUnit XML results on Jenkins, publish with separate graph?有点相似,但有另一个范围。

我们需要针对多种环境(例如Windows / Linux,不同的浏览器,服务器环境)测试我们的软件。就我所见,这是一个非常常见的用例,但是我似乎找不到的是如何拥有一份清晰的报告,您可以在其中区分这些环境。

我尝试了以下简单管道:

node {
    // dummy report
    def testResultXml = '''
        <testsuite name="ComponentTests" tests="3">
            <testcase classname="foo1" name="ASuccessfulTest"/>
            <testcase classname="foo2" name="AnotherSuccessfulTest"/>
            <testcase classname="foo3" name="AFailingTest">
                <failure type="NotEnoughFoo"> details about failure </failure>
            </testcase>
        </testsuite>
    '''

    stage('test run 1'){
        writeFile file: 'test1.xml', text: testResultXml, encoding: 'UTF-8'
        junit "test1.xml"
    }
    stage('test run 2'){
        writeFile file: 'test2.xml', text: testResultXml, encoding: 'UTF-8'
        junit "test2.xml"
    }
}


并从詹金斯那里得到了一份测试报告,向我展示了2个失败的测试。我的问题是,如果只有一个失败,我不知道哪个。

我们的输出来自ant junit任务,该任务对所有环境都具有相同的输出(某些属性除外)。

甚至有关声明性管道1.2的文章也以多环境测试为例:
https://jenkins.io/blog/2017/09/25/declarative-1/,但对“在Linux上运行测试”和“在Windows上运行测试”结果的表示方式一无所知。

我是否错过了某些东西,或者是否有一个可以发布缺失信息的插件(仅具有读取的junit xml文件的目录会有所帮助)?

最佳答案

经过一些测试,该问题似乎已经在Jenkins JUnit插件的1.22版中得到修复。

相关问题在:
https://issues.jenkins-ci.org/browse/JENKINS-27395
https://issues.jenkins-ci.org/browse/JENKINS-37598

10-05 23:01
查看更多