ANT的JUNIT HTML报告

时间:2012-10-18 10:01:21

标签: ant junit

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

报告在没有失败时生成。

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

JUnit report docs

答案 1 :(得分:1)

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