JUnitXML“;“包装”;在哈德逊

JUnitXML“;“包装”;在哈德逊,junit,hudson,jenkins,Junit,Hudson,Jenkins,我自己生成的XML看起来很像JUnit,Hudson可以阅读。它工作得很好,只是我不能确定Hudson web GUI中的“包”列表是什么。如何生成一个被Hudson解释为“包”的XML 哈德逊将把它列为: 包:(根) Class:Class\name\that\is\really\folders Test Name:Test_Name.log我认为Jenkins从testsuite标记中的Name属性获取包名。 您可以尝试这样更改XML <testsuites> <tes

我自己生成的XML看起来很像JUnit,Hudson可以阅读。它工作得很好,只是我不能确定Hudson web GUI中的“包”列表是什么。如何生成一个被Hudson解释为“包”的XML


哈德逊将把它列为:

包:(根)
Class:Class\name\that\is\really\folders

Test Name:Test_Name.log

我认为Jenkins从testsuite标记中的Name属性获取包名。 您可以尝试这样更改XML

<testsuites>
<testsuite name="package.name.of.your.testclass">

  <testcase classname="class\name\that\is\really\folders" name="test_name.log" time="231">
  </testcase>
</testsuite>
</testsuites>

@pushy-我以前试过,但当我试图证明你错了,我这次得到了;-)



您必须在每个测试用例的类名前面加上testsuite名称,才能将其作为“包”接受。

无需冗余!如果您:

  • 使用
    name
    属性代替
    classname
  • 确保
    元素的
    name
    属性至少有两个点分隔的“部分”。现在,所有包含的
    元素都将获得一个包和类。最后一部分是类名。剩下的将是包名
像这样:

<testsuites>
    <testsuite name="packagename.classname">
      <testcase name="test_name.log" time="231"></testcase>
    </testsuite>
</testsuites>

这不允许将模块组织成层次结构(这是我的实际目标)。
<testsuites>
<testsuite name="package.name.of.your.testclass">

  <testcase classname="package.name.of.your.testclass.class\name\that\is\really\folders" name="test_name.log" time="231">
  </testcase>
</testsuite>
</testsuites>
<testsuites>
    <testsuite name="packagename.classname">
      <testcase name="test_name.log" time="231"></testcase>
    </testsuite>
</testsuites>