5

当测试失败时,如何使用 Ant 从 JUnit 生成 HTML 报告?

没有故障时会生成报告。

另外,我们如何定义我们自己的 XSLT 来生成报告?

构建.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="Ant Example" default="all" basedir=".">
    <property name="project_name" value="junitSamples" />
    <property name="src" location="src" />
    <property name="build" location="build/classes" />
    <property name="lib" location="lib" />
    <property name="reports" location="reports" />

    <target name="init" depends="clean">
        <mkdir dir="${build}" />
        <mkdir dir="${lib}" />
        <mkdir dir="${reports}" />
        <mkdir dir="${reports}/raw/" />
        <mkdir dir="${reports}/html/" />
    </target>

    <target name="compile" depends="init">
        <javac srcdir="${src}" destdir="${build}" description="compile the source code ">
            <classpath>
                <fileset dir="lib">
                    <include name="**/*.jar" />
                </fileset>
            </classpath>
        </javac>
    </target>

    <target name="clean">
        <delete dir="build" />
        <delete dir="${reports}" />
    </target>

    <target name="run-tests" depends="compile">
        <junit printsummary="yes" haltonfailure="yes" showoutput="yes">
            <classpath>
                <pathelement path="${build}" />
                <fileset dir="lib">
                    <include name="**/*.jar" />
                </fileset>
            </classpath>

            <batchtest fork="yes" todir="${reports}/raw/">
                <formatter type="xml" />
                <fileset dir="${src}">
                    <include name="**/*Test*.java" />
                </fileset>
            </batchtest>
        </junit>
    </target>

    <target name="test" depends="run-tests">
        <junitreport todir="${reports}">
            <fileset dir="${reports}/raw/">
                <include name="TEST-*.xml" />
            </fileset>
            <report format="noframes" todir="${reports}\html\" />
        </junitreport>
    </target>

    <target name="all" depends="clean, test" />
</project>
4

2 回答 2

3

要指定您自己的样式表,请使用以下"styledir"属性:

<report styledir="${resources}/junit" format="..." todir="..." />

如前所述,您必须使用"junit-noframes.xsl"样式表名称。

JUnit 报告文档

于 2012-10-18T10:20:50.007 回答
1

您设置了 haltonfailure="yes" 这意味着如果一个测试失败,构建操作将停止。这来自 ant 文档:“如果测试失败,则停止构建过程(错误也被视为失败)。” 在这里阅读更多 - https://ant.apache.org/manual/Tasks/junit.html

于 2015-12-01T05:47:37.303 回答