Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Hudson GUI中显示Fitnesse XML报告_Xml_Hudson_Fitnesse - Fatal编程技术网

在Hudson GUI中显示Fitnesse XML报告

在Hudson GUI中显示Fitnesse XML报告,xml,hudson,fitnesse,Xml,Hudson,Fitnesse,在使用testrunner运行fitnesse测试之后,我得到一个包含所有结果的xml文件。 现在我不知道如何在hudson GUI中为特定作业显示这些结果 我在网上冲浪过,我发现有几个人修改了CruiseControl.NET中的xsd文件,但是没有人真正显示它工作了 如果有人能帮我或者给我指出正确的方向,我将不胜感激 多谢各位。 Yohann我将xslt输出的xml从fitnesse转换为junit格式,并发布测试结果。 不幸的是,我无法得到在hudson内部显示失败的html结果,但是这不

在使用testrunner运行fitnesse测试之后,我得到一个包含所有结果的xml文件。 现在我不知道如何在hudson GUI中为特定作业显示这些结果

我在网上冲浪过,我发现有几个人修改了CruiseControl.NET中的xsd文件,但是没有人真正显示它工作了

如果有人能帮我或者给我指出正确的方向,我将不胜感激

多谢各位。
Yohann

我将xslt输出的xml从fitnesse转换为junit格式,并发布测试结果。 不幸的是,我无法得到在hudson内部显示失败的html结果,但是这不是一个真正的问题,因为我只想知道我的验收测试是否正常

下面是我使用的xslt的副本

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <xsl:element name="testsuite">
    <xsl:attribute name="tests">
      <xsl:value-of select="sum(testResults/finalCounts/*)" />
    </xsl:attribute>
    <xsl:attribute name="failures">
      <xsl:value-of select="testResults/finalCounts/wrong" />
    </xsl:attribute>
    <xsl:attribute name="disabled">
      <xsl:value-of select="testResults/finalCounts/ignores" />
    </xsl:attribute>
    <xsl:attribute name="errors">
      <xsl:value-of select="testResults/finalCounts/exceptions" />
    </xsl:attribute>
    <xsl:attribute name="name">AcceptanceTests</xsl:attribute>
  <xsl:for-each select="testResults/result">
    <xsl:element name="testcase">
      <xsl:attribute name="classname">
        <xsl:value-of select="/testResults/rootPath" />
      </xsl:attribute>
      <xsl:attribute name="name">
        <xsl:value-of select="relativePageName" />
      </xsl:attribute>
      <xsl:choose>
        <xsl:when test="counts/exceptions > 0">
          <xsl:element name="error">
            <xsl:attribute name="message">
              <xsl:value-of select="counts/exceptions" />
              <xsl:text> exceptions thrown</xsl:text>
              <xsl:if test="counts/wrong > 0">
                <xsl:text> and </xsl:text>
                <xsl:value-of select="counts/wrong" />
                <xsl:text> assertions failed</xsl:text>
              </xsl:if>
            </xsl:attribute>
          </xsl:element>
        </xsl:when>
        <xsl:when test="counts/wrong > 0">
          <xsl:element name="failure">
            <xsl:attribute name="message">
              <xsl:value-of select="counts/wrong" />
              <xsl:text> assertions failed</xsl:text>
            </xsl:attribute>
          </xsl:element>
        </xsl:when>
      </xsl:choose>
    </xsl:element>
  </xsl:for-each>
  </xsl:element>
</xsl:template>
</xsl:stylesheet>

验收测试
抛出异常
及
断言失败
断言失败

FitNesse将进行一些更改,以支持返回junit格式的结果。我不确定确切的日期,但当他们确定的时候,应该不再需要单独的转换活动了

很快就可以在hudson中使用新的-c命令行参数运行测试,然后使用-c参数第二次运行测试,以junit格式请求测试的最新结果。这同样适用于套房

我将在发布后返回一个更新,使该功能正常工作

我回来了。c方法还有一些工作要做,但是有一个新的Hudson插件,您可以直接从Hudson内部安装。这不是我的团队目前的理想解决方案,但它对一些团队有效

要获得它:

  • 升到1.350或更高的哈德逊
  • 点击管理哈德逊
  • 选择可用的插件
  • 在页面上搜索FitNesse
  • 安装那个插件
  • 配置它,不要指向fitnesse.jar和FitNesseRoot

  • 不确定这是否正是您想要的,但如果您安装了,您可以添加一个输出xml的构建步骤

    然后可以将这些结果作为生成后操作从xml发布


    如何让hudson使用此xslt?是否有一个模块在某处或一个人需要写一个脚本?不知道提交人,但这正是我要找的。