Junit Ant测试报告

时间:2013-04-25 14:39:57

标签: xml ant junit report

我正在使用Junit和Ant生成测试报告,默认为junit-noframes格式。 由于我在同一个包中测试了几个不同的类,我希望看到每个类的测试结果的统计数据。另外,我想在报告中分开成功的测试。

我已经检查了xslt文件,这可以让我部分解决第一个问题。仍然在Junit生成的xml测试报告中,成功案例已经重新组合。我怎么能影响这个?是否有可能改变Junit在xml testResult中存储信息的方式? 这些关于各个测试的数据必须在某个地方,因为我很清楚能够在Eclipse中使用Junit插件看到它们。

1 个答案:

答案 0 :(得分:0)

您可以修改xsl文件以为每行添加类名。它对我有用。

在junit-noframes.xsl中,添加2行: 1在这里:

df %>% 
  group_by(grp) %>% 
  summarise(total_val = sum(val), 
            biggest_cat = names(which.max(tapply(val, cat, sum))))


#    grp total_val biggest_cat
#  <dbl>     <dbl> <chr>      
#1     1         8 A          
#2     2        12 D          

在这里:

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

通过设置“ styledir”属性(在build.xml文件中),记住指定修改后的junit-noframes.xsl文件所在的文件夹。

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

新列将在报告中显示班级名称

click to see image...