使用 testrunner 运行健身测试后,我得到一个包含所有结果的 xml 文件。现在我不知道如何在 hudson GUI 中为特定工作显示这些结果。
我在网上冲浪,我发现有几个人从 CruiseControl.NET 修改 xsd 文件,但实际上没有人显示它有效!
如果有人可以帮助我或指出我正确的方向,那将不胜感激。
谢谢你。约汉
我将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 中安装它。这不是我的团队目前的想法解决方案,但它适用于某些团队。
为拿到它,为实现它: