5

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

我在网上冲浪,我发现有几个人从 CruiseControl.NET 修改 xsd 文件,但实际上没有人显示它有效!

如果有人可以帮助我或指出我正确的方向,那将不胜感激。

谢谢你。约汉

4

3 回答 3

3

我将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>
于 2010-03-01T18:50:35.857 回答
2

FitNesse 有一些变化将支持 junit 格式结果的返回。我不确定确切的日期,但是当他们这样做时,应该不再需要单独的转换活动。

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

当具有该功能的版本发布时,我会回来更新。

我回来了。-c 方法仍有一些工作要做,但是有一个新的 Hudson 插件,您可以直接从 Hudson 中安装它。这不是我的团队目前的想法解决方案,但它适用于某些团队。

为拿到它,为实现它:

  1. 高达 1.350 或更高的哈德逊
  2. 点击管理哈德逊
  3. 选择可用插件
  4. 在页面上搜索 FitNesse
  5. 安装那个插件
  6. 将其配置为指向您的 Fitnesse.jar 和 FitNesseRoot。
于 2010-03-03T20:39:46.660 回答
2

不确定它是否正是您所追求的,但如果您安装Fitnesse 插件,您可以添加一个输出 xml 的构建步骤。

执行 Fitnesse 构建脚本

然后您可以将这些结果从 xml 发布为构建后操作。

发布健身结果报告(来自 xml)

于 2013-07-23T07:57:37.663 回答