2012-07-17 172 views
7

我正在处理一个脚本,该脚本以Jenkins接受的JUnit XML格式生成测试结果。关于Jenkins JUnit XML格式

我读通过StackOverflow的答案,一些关于这个话题:JUnit XML format specification that Hudson supportsSpec. for JUnit XML Output但没有对“测试包”的细节,这些会谈的属性或选项。

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

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

有没有办法做到这一点?

任何帮助将不胜感激!

回答

0

我已经在python中做了这个。所以我可以用python告诉你。 导入您的詹金斯台名为xmlrunner现在

import xmlrunner 

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

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

包去生成后操作 单击Next发布JUnit测试结果报告 并提供路径名xml文件的复选框。 (**/test.xml)

你应该保存生成并检查你的详细结果。 希望它有帮助。

3

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

下面是关于如何调试这样的事情一个有用的技巧:创建一个作业(让我们将其命名为jUnitReport)认为,“摩的”在shell /批量构建一个文件(姑且称之为jUnit.xml)步;添加'发布JUnit测试结果报告',并在'测试报告XML'编辑框中指定jUnit.xml。运行一次作业 - 这将创建其工作区。现在请在工作区中放置要测试的有效jUnit.xml。再次运行该作业并检查测试结果的外观。

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

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

+0

假设我在XML文件中有一个新属性,例如“total_heap_size_allocated”,这是否会影响Jenkins如何解析现有的JUnit XML文件?或者它会突破? – nirvanaswap 2016-07-01 00:24:00