

新闻资讯
技术教程JUnit XML格式遵循Ant JUnit Task标准,以testsuites为根节点包裹testsuite和testcase,Jenkins通过内置插件解析该XML以展示结果、统计通过率并生成趋势图。
JUnit报告的XML格式是遵循Ant JUnit Task定义的一种标准结构,Jenkins通过内置的JUnit插件(默认启用)解析这种XML,用于展示测试结果、统计通过率、生成趋势图和触发构建状态变更。
典型的JUnit XML由testsuites根节点包裹一个或多个testsuite,每个testsuite包含若干testcase。关键字段包括:
tests、failures、errors等汇总属性name(类名)、tests、failures、time等属性classname和name,可选time
或子节点表示,含message和type属性,内容为堆栈文本表示示例片段:
...
Jenkins不自行实现XML解析器,而是依赖开源库(如XStream或JAXB)读取符合约定的XML,并将数据映射为内部测试对象模型。解析过程发生在“Publish JUnit test result report”构建后操作中:
**/target/surefire-reports/*.xml)testsuite和testcase信息不是所有“JUnit风格”的XML都能被Jenkins正确识别。需特别注意:
testsuites或testsuite(单套件时允许直接以testsuite为根)testcase必须有classname和name,否则可能被忽略或归类到匿名套件time)应为非负浮点数字符串(如"0.012"),不能是空或非数字当Jenkins未显示测试结果时,可按以下步骤排查:
enkins工作区中找到实际生成的XML文件,用浏览器或XML校验工具打开,确认结构合法**/*.xml),确认是否因路径匹配失败hudson.tasks.junit级别为FINE,查看详细解析过程curl或jq(配合xmlstar)在命令行快速验证XML有效性