jenkins - Jenkins JUnit 在 XML 文件中找不到结果
问题描述
美好的一天!所以我一直在尝试不同的方法来格式化我的 XML 自动化测试结果,以便 JUnit 从中提取。我已经能够让它找到文件,但它说没有结果:
[Pipeline] junit
Recording test results
None of the test reports contained any result
[Pipeline]
有问题的文件是虚幻自动化测试的输出,它是 json 格式,我有一个将相关数据转换为 XML 的函数,输出如下(带有“项目”,因为它仍未公布):
<?xml version="1.0" encoding="utf-8"?>
<testsuite tests="3" failures="2" time="5.7150259017944336">
<testcase name="Failing Test" classname="project.Failing Test" status="Fail">
<failure>Fail</failure>
<output message="Expected 'An Error occurred' to be true." type="Error">D:\project\Plugins\projectTests\Source\projectTests\Private\Examples\ExampleTests.cpp 32</output>
</testcase>
<testcase name="Communication States" classname="<project>.VoIP.Communication States" status="Fail">
<failure>Fail</failure>
<output message="req_sessiongroup_remove_session failed for 1001:Target Object Does Not Exist" type="Warning">D:\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp 92</output>
<output message="Should be transmitting to World Channel after Joining. Aborting Test" type="Error">D:\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp 92</output>
<output message="Uninitializing Vivox Client" type="Info">D:\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp 92</output>
</testcase>
<testcase name="Passing Test" classname="project.Passing Test" status="Success">
<success>Success</success>
</testcase>
</testsuite>
JUnit 在寻找什么?!?! jUnit format only allows one <failure> child for each <testcase>
我已经将输出读取为失败,失败,我已将其全部包含在标签中,以及我不记得的各种其他合并。我很茫然.....
解决方案
您的转换器似乎不小心将项目转换为 XML 标记。一个有效的 XML 表示是这样的:
<?xml version="1.0" encoding="utf-8"?>
<testsuite tests="3" failures="2" time="5.7150259017944336">
<testcase name="Failing Test" classname="project.Failing Test" status="Fail">
<failure>Fail</failure>
<output message="Expected 'An Error occurred' to be true." type="Error">D:\project\Plugins\projectTests\Source\projectTests\Private\Examples\ExampleTests.cpp 32</output>
</testcase>
<testcase name="Communication States" classname="project.VoIP.Communication States" status="Fail">
<failure>Fail</failure>
<output message="req_sessiongroup_remove_session failed for 1001:Target Object Does Not Exist" type="Warning">D:\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp 92</output>
<output message="Should be transmitting to World Channel after Joining. Aborting Test" type="Error">D:\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp 92</output>
<output message="Uninitializing Vivox Client" type="Info">D:\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp 92</output>
</testcase>
<testcase name="Passing Test" classname="project.Passing Test" status="Success">
<success>Success</success>
</testcase>
</testsuite>
推荐阅读
- css - 使用 react-data-table-component 时如何更改主标题 css 属性
- c# - 如何让这个实体框架 SQL 查询正常运行
- r - 不使用 hist() 在 Rstudio 中构建直方图的方法?
- javascript - 如何跨设备扩展 localStorage(无 DB)
- wpf - WPF:RowDetailsTemplate 中的 DataGrid 没有空的新行
- java - Hibernate 无法创建表:org.hibernate.tool.schema.spi.CommandAcceptanceException: Error execution DDL "create table PSQLException
- r - 循环 - 从模拟数据中提取 LASSO 系数
- selenium - 一遍又一遍地抓取一些动态数据(像刮刀这样的浏览器!!)
- ruby-on-rails - 如何使用 Rspec 测试对象属性
- python - Python/Flask - ANSI 代码现在出现在控制台中