关于Jenkins JUnit XML格式

我正在开发一个脚本,以Jenkins接受的JUnit XML格式生成测试结果。

我阅读了StackOverFlow中有关此主题的一些答案:Hudson支持的JUnit XML格式规范和Spec。 对于JUnit XML Output,但没有一个会谈到“testsuites”属性或选项的细节。

我想从“testsuites”下的所有“testsuite”中显示“testcase”的总数,失败的“testcase”的总数以及跳过的“testcase”的总数。

<testsuites *something to add here to include the info demanded*>...</testsuites>

有没有办法实现这一点?

任何帮助将不胜感激!


我认为这些信息将由Jenkins自动计算。 如果没有 - 不要麻烦添加它,它将不会显示。

这里有一个关于如何调试这种事情的有用提示:创建一个在shell /批量生成步骤中“触及”文件的工作(让我们将其称为jUnit.xml);创建一个工作(让我们将其命名为jUnitReport) 添加“发布JUnit测试结果报告”,并在“测试报告XML”编辑框中指定jUnit.xml。 运行一次作业 - 这将创建其工作区。 现在,在工作区中放置要测试的有效jUnit.xml。 再次运行该作业并检查测试结果的外观。

重要的是不要删除'touch'步骤 - 否则Jenkins会将测试结果视为陈旧并且无法构建。

您现在可以在不运行实际测试的情况下使用jUnit.xml来查看Jenkins显示结果的影响。


我已经在Python中完成了这项工作。 所以我可以用python告诉你。 导入一个名为xmlrunner的包

import xmlrunner

class ABC(unittest.TestCase)
asserts/tests..
...

if __name__ == "__main__":
   suite = unittest.TestLoader().loadTestsFromTestCase(ABC)
   xmlrunner.XMLTestRunner().run(suite)

现在在您的jenkins机器中进入Post-build Actions点击Publish JUnit测试结果报告旁边的复选框,并将路径名称提供给xml文件。 (** /的test.xml)

你应该保存并且检查你的详细结果。 希望能帮助到你。


我正在寻找类似的东西,而且大多不可能使用默认的junit插件,它不会解析这些信息

你可以检查这个插件的源代码https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/tasks/junit/SuiteResult.java#L125。

你可以fork junit插件并扩展它。

链接地址: http://www.djcxy.com/p/11025.html

上一篇: About Jenkins JUnit XML Format

下一篇: Algorithm for finding basis of a set of bitstrings?