【问题标题】:JUnit XML "packages" in hudson哈德逊的 JUnit XML“包”
【发布时间】:2012-01-31 15:30:15
【问题描述】:

我自己生成的 XML 看起来很像 JUnit,Hudson 可以阅读它们。它很好用,只是我无法弄清楚 Hudson Web GUI 中的“包”列表是什么。如何制作一个将被 Hudson 解释为“包”的 XML?

<testsuites>
<testsuite>

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

Hudson 将其列为:

包:(根)
类:class\name\that\is\really\folders
测试名称:test_name.log

【问题讨论】:

    标签: junit hudson jenkins


    【解决方案1】:

    @pushy - 我之前尝试过,但是当我试图证明你错了,这次我明白了 ;-)。

    <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>
    

    必须在每个测试用例的类名前加上测试套件名称,以便将其作为“包”接受。

    【讨论】:

      【解决方案2】:

      无需冗余! Jenkins 可以很好地推断包名和类名,如果您:

      • 使用name 属性而不是classname
      • 确保&lt;testsuite&gt; 元素的name 属性至少有两个点分隔的“部分”。现在所有封闭的&lt;testcase&gt; 元素都将获得一个包和类。最后一部分是类名。剩下的就是包名。

      像这样:

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

      【讨论】:

      • 这不允许您将模块结构化为层次结构(这是我的实际目标)。
      【解决方案3】:

      我认为 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>
      

      【讨论】:

        猜你喜欢
        • 2011-05-24
        • 1970-01-01
        • 1970-01-01
        • 2011-06-20
        • 1970-01-01
        • 2010-12-22
        • 2013-12-24
        • 2011-11-07
        • 2011-07-02
        相关资源
        最近更新 更多