ANT生成JUNIT的HTML报告

5

当测试失败时,我该如何使用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>

1
你的 XML 缩进真的是这样吗?请考虑使用一致的缩进和空格代替制表符。 - Dave Newton
2个回答

3

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

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

请注意,您必须使用"junit-noframes.xsl"样式表名称。

JUnit报告文档


2
我已经完成了,现在它运行得很好。让我在这里为其他人添加注释,你必须使用以下<junit printsummary="yes" haltonfailure="yes" showoutput="yes">,如果haltonfailure为false,则只有在所有测试用例都通过时才会生成HTML报告。 - user1753210
感谢用户 user1753210。您可以考虑将您的评论添加为答案。 - dmeehan

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接