Jenkins 测试结果解析

5

我有一个安装了许多任务的Jenkins。这些任务进行测试,并生成XML格式的测试输出。这些XML格式的测试结果看起来非常标准,就像这样:

<testsuites name="testsuitesname">
  <testsuite name="testsuitename">
    <testcase classname="classname" name="testcasename">
      blabla
    </testcase>
  </testsuite>
</testsuites>

当你使用“Post-build action”中的“Publish JUnit test result report”(在作业配置页面上找到)时,构建(在Jenkins中)发布的结果结构将如下所示:
  1. <root>(标题:package)
  2. <classname>(标题:class)
  3. <testcasename>(标题:test name)
在这个层次结构中没有<testsuitesname><testsuitename>,就像XML文件中一样。
有没有选项可以将<testsuitesname><testsuitename>添加到Jenkins构建测试结果发布层次结构中:
  1. 向测试结果发布层次结构中添加<testsuitesname><testsuitename>

    1. (<root>)
    2. <testsuitesname>
    3. <testsuitename>
    4. <classname>
    5. <testclassname>
或者
  1. <testcase>标记中添加更多层次结构?
背景:因为我的测试结果非常大(数量很多),我想为它添加更多的层次结构,而不仅仅是两个级别(像现在这样),以便更好地概述所有这些结果。
有没有人能帮帮我或遇到过类似的问题?
最好的,
安迪

嗨,Gerold - 此选项在您创建或配置的每个作业中都位于 post-build-actions 下。 - Mydisname
1个回答

7

很遗憾,我没有找到改变Jenkins在测试结构不同方面的行为的简单答案。但是,在我的情况下,我找到了一种改进方法想要分享。

Jenkins中测试结果的层次结构如下:

  1. 包(Package)
  2. 类(Class)
  3. 测试名称(Test name)

这些可以在<testcase>标签中定义如下:

<testcase classname="packagename.classname" name="testname">

在"name"标签内,您可以定义层次结构的最后一部分——测试名称。在"classname"标签内,您可以定义层次结构的前两部分,即由点分隔的包和类。

请注意,只允许一个点。无法仅通过在classname标记中添加更多点来创建更深的层次结构。如果有多个点,则以最后一个点为准。

因此,以下是一个“完整”的示例:

<testsuites name="testsuitesname">
  <testsuite name="testsuitename">
    <testcase classname="packagename.classname" name="testname">
      blabla
    </testcase>
  </testsuite>
</testsuites>

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