我想我的问题与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