詹金斯不显示测试用例标准输出

时间:2018-12-17 20:08:31

标签: junit jenkins-plugins jenkins-pipeline

我正在尝试发布有关詹金斯报告的测试结果。但是我看到詹金斯没有显示整个标准输出。仅显示标准输出的一部分。

这是我的测试用例报告之一:

 <testcase classname="com.oracle.pgbu.rest.resources.navigation.NavigationHelperTest" name="printDocs(TestReporter)" time="0.13">
      <system-out><![CDATA[
unique-id: [engine:junit-jupiter]/[class:com.oracle.pgbu.rest.resources.navigation.NavigationHelperTest]/[method:printDocs(org.junit.jupiter.api.TestReporter)]
display-name: printDocs(TestReporter)
]]></system-out>

      <system-out><![CDATA[
Report Entry #1 (timestamp: 2018-12-17T19:13:00.767)
    - value: 

 ----- /primaveraadmin links and help items ----- 
Report Entry #2 (timestamp: 2018-12-17T19:13:00.77)
    - value: Application Administrators      (DocID: 85774)          

Report Entry #3 (timestamp: 2018-12-17T19:13:00.771)
    - value: License Usage                   (DocID: 81927)          

Report Entry #4 (timestamp: 2018-12-17T19:13:00.771)
    - value: System Announcements            (DocID: 84924)          

Report Entry #5 (timestamp: 2018-12-17T19:13:00.771)
    - value: System Settings                 (DocIDs: 81797 81802 102236 81804 89057 81806 81809 89894 81810 85775 81808 81811 89055 81793)
     </system-out>
</testcase>

我观察到jenkins仅显示系统输出的第一个嵌套部分,而不显示第二个部分。这就是我的jenkins文件的样子:

 post {
       always {
           junit keepLongStdio: true, testResults: 'reports/junit/*.xml,projects/pages/test-results/*.xml', 
        } 
      }

反正我可以解决这个问题以显示整个标准输出吗?谢谢

1 个答案:

答案 0 :(得分:0)

每个system-out拥有一个以上的testcase并不违反该模式:

 <xs:element ref="system-out" minOccurs="0" maxOccurs="unbounded"/>

https://github.com/junit-team/junit5/blob/master/platform-tests/src/test/resources/jenkins-junit.xsd

这似乎与Jenkins或其JUnit插件有关。老实说,我从未见过JUnit报告中每个system-out包含一个以上testcase,也许没有实现处理这种不受欢迎的情况。