关于Jenkins JUnit XML格式

7
我正在编写一个脚本,生成Jenkins接受的JUnit XML格式的测试结果。
我阅读了一些关于这个主题的StackOverFlow答案:JUnit XML格式规范,Hudson支持JUnit XML输出规范 ,但没有一个解释“testsuites”属性或选项的详细信息。
我想展示所有“testsuites”下的“testcase”的总数,失败的“testcase”总数和跳过的“testcase”总数。
<testsuites *需要添加一些内容以包含所需信息*>...</testsuites> 有什么办法可以实现吗?
任何帮助将不胜感激!
4个回答

3
我认为Jenkins会自动计算信息。如果没有-不要费心添加它,因为它不会被显示出来。
以下是有关如何调试此类问题的有用提示:创建一个作业(我们称其为jUnitReport),在shell / batch构建步骤中“touch”文件(我们称其为jUnit.xml); 添加“发布JUnit测试结果报告”,并在“Test Report XMLs”编辑框中指定jUnit.xml。运行该作业一次-那将创建其工作区。现在将您想要测试的有效的jUnit.xml放置在工作区中。再次运行作业并检查测试结果的外观。
重要的是不要删除“touch”步骤-否则Jenkins会将测试结果视为过时并失败构建。
现在,您可以玩弄jUnit.xml而不运行实际测试,并检查它如何影响Jenkins显示的结果。

假设我在我的XML文件中有一个新属性,比如“total_heap_size_allocated”,这会影响Jenkins如何解析现有的JUnit XML文件吗?或者会出现错误吗? - nirvanaswap

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机器上,转到“后构建操作”

单击旁边的复选框“发布JUnit测试结果报告”,并提供XML文件的路径名。(**/test.xml)

您应该保存构建并检查详细结果。

希望能帮到您。


1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接