关于Jenkins JUnit XML格式

时间:2012-07-17 21:12:13

标签: xml junit jenkins

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

我在StackOverFlow中阅读了有关此主题的一些答案:JUnit XML format specification that Hudson supportsSpec. for JUnit XML Output但这些都没有谈到“testsuites”属性或选项的细节。

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

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

有没有办法实现这个目标?

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:3)

我认为这些信息将由Jenkins自动计算。如果不是 - 不要费心添加它,它无论如何都不会显示。

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

重要的是不要删除“触摸”步骤 - 否则Jenkins会将测试结果视为失效并且无法构建。

您现在可以使用 jUnit.xml 进行操作而无需运行实际测试,并检查它如何影响Jenkins显示的结果。

答案 1 :(得分:1)

我在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)

你应该保存 - 建立并检查你的详细结果。 希望它有所帮助。

答案 2 :(得分:1)

不确定您是否找到了您要找的东西。但以下示例适用于我。

<testsuites tests="38" failures="2" disabled="0" errors="0" time="10.898" name="AllTests">
    <!-- Add test suite and other stuff here-->
</testsuites>

这是Jenkins支持的内容。不确定Hudson是否相同。 https://svn.jenkins-ci.org/trunk/hudson/dtkit/dtkit-format/dtkit-junit-model/src/main/resources/com/thalesgroup/dtkit/junit/model/xsd/junit-4.xsd

答案 3 :(得分:0)

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

您可以查看此插件的源代码https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/tasks/junit/SuiteResult.java#L125

你可以分叉junit插件并扩展它。