JUnitReport

描述

合并由 JUnit 任务生成的单个 XML 文件,并最终在合并后的文档上应用样式表,以提供测试用例结果的可浏览报告。

注意:此任务依赖于 Apache Ant 分发版中未包含的外部库。有关更多信息,请参见 库依赖项

参数

属性 描述 必需
tofile 将聚合所有先前由 JUnit 任务生成的单个 XML 测试套件的 XML 文件的名称。 否;默认为 TESTS-TestSuites.xml
todir 应将单个 XML 测试套件聚合结果写入的目录。 否;默认为当前目录

作为嵌套元素指定的参数

fileset

junitreport 使用嵌套的 <FileSet> 元素收集由 JUnit 任务生成的单个 xml 文件。

report

根据合并创建的文档生成可浏览的报告。

参数

属性 描述 必需
format 生成的报告的格式。必须是 noframesframes 否;默认为 frames
styledir 定义样式表的目录。它们必须符合以下约定
  • frames 格式:样式表必须命名为 junit-frames.xsl,或者如果您使用的是 Saxon 9+,则命名为 junit-frames-saxon.xsl
  • noframes 格式:样式表必须命名为 junit-noframes.xsl,或者如果您使用的是 Saxon 9+,则命名为 junit-noframes-saxon.xsl
否;默认为嵌入式样式表
todir 应将转换结果写入的目录。 否;默认为当前目录

Ant 对 framesnoframes 格式做出以下假设

junit-frames.xsljunit-noframes.xsl 的自定义版本必须遵守上述约定。

report 标签的嵌套元素

param

自 Ant 1.7 起report 标签支持嵌套的 param 标签。这些标签可以将 XSL 参数传递给样式表。

参数

属性 描述 必需
name XSL 参数的名称
expression 要放入 param 中的文本值。
最初打算用作 XSL 表达式。
if 仅当 设置此属性 时,才会传递 param
unless 设置此属性 时,不会传递 param

内置样式表支持以下参数

XSL 参数 描述 必需
TITLE <title><h1> 标签中使用的标题 否;默认为 Unit Test Results

classpath

自 Ant 1.9.5 起。与 XSLT 任务 一样,嵌套的 <classpath> 将用于加载处理器。

factory

自 Ant 1.9.5 起。与 XSLT 任务 一样,嵌套的 <factory> 可用于指定工厂设置。

示例

reports 目录中生成 TESTS-TestSuites.xml 文件,并在 report/html 目录中生成默认的带框架的报告。

<junitreport todir="./reports">
    <fileset dir="./reports">
        <include name="TEST-*.xml"/>
    </fileset>
    <report format="frames" todir="./report/html"/>
</junitreport>

此示例需要一个名为 junitreport/junit-frames.xsl 的文件。XSL 参数 key1key2 将传递给 XSL 转换。

<junitreport todir="${outputdir}">
    <fileset dir="${jrdir}">
        <include name="TEST-*.xml"/>
    </fileset>
    <report todir="${outputdir}/html"
            styledir="junitreport"
            format="frames">
        <param name="key1" expression="value1"/>
        <param name="key2" expression="value2"/>
    </report>
</junitreport>