我使用Junit和Ant生成一个默认的Junit -noframes格式的测试报告。由于我在同一个包中测试了几个不同的类,所以我希望看到每个类的测试结果的统计信息。另外,我想在报告中分离成功的测试。
我已经检查了xslt文件,这可能允许我部分地解决第一个问题。在Junit生成的xml测试报告中,成功的案例已经重新分组。我该如何影响它?是否有可能改变Junit在xml testResult中存储信息的方式?这些关于单个测试的数据一定在某个地方,因为我可以清楚地看到Eclipse中的Junit插件。
您可以修改xsl文件,为每行添加classname。
在junit-noframes。Xsl,添加2行:1:
...
<!-- method header -->
<xsl:template name="testcase.test.header">
<tr valign="top">
<!-- ### THIS LINE ADDED ### -->
<th>Class</th>
<!----------------------------->
<th>Name</th>
<th>Status</th>
<th width="80%">Type</th>
<th nowrap="nowrap">Time(s)</th>
</tr>
</xsl:template>
...
:
...
<xsl:template match="testcase" mode="print.test">
<tr valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="failure | error">Error</xsl:when>
</xsl:choose>
</xsl:attribute>
<!-- ### THIS LINE ADDED ### -->
<td><xsl:value-of select="@classname"/></td>
<!----------------------------->
<td><xsl:value-of select="@name"/></td>
<xsl:choose>
<xsl:when test="failure">
<td>Failure</td>
<td><xsl:apply-templates select="failure"/></td>
</xsl:when>
....
请记住指定您修改的junit-noframes所在的文件夹。通过设置"styledir"属性(在build.xml文件中),
...
<report todir="${build.test.resultshtml.dir}"
format="noframes"
styledir="${build.resources.dir}"
/>
...
新列将显示报告中的类名