来自ant的空Junit报告

Par*_*g M 4 ant junit

我试图使用ant来运行junit测试并生成报告.我能够成功运行测试,但报告文件是空的.

我究竟做错了什么 ?

这是我的build.xml:

<project name="JunitTest" default="test" basedir="."> 
    <property name="testdir" location="." /> 
    <property name="srcdir" location="." /> 
    <property name="full-compile" value="true" /> 
    <property name="test.reports" value="./reports" />

    <path id="classpath.base"/>
    <path id="classpath.test">

    <pathelement location="${testdir}" />
    <pathelement location="${srcdir}" />

    <path refid="classpath.base" />

    </path> 

    <target name="clean" >
        <delete verbose="${full-compile}"> 
            <fileset dir="${testdir}" includes="**/*.class" />
        </delete> `
    </target>

    <target name="compile" depends="clean">
        <javac srcdir="${srcdir}" destdir="${testdir}" verbose="${full-compile}" >
            <classpath refid="classpath.test"/>
        </javac>
    </target>

    <target name="test" depends="compile">
        <junit>
            <classpath refid="classpath.test" />
            <formatter type="brief" usefile="false" />
            <test name="com.tests.nav1" />
        </junit>

        <junitreport todir="${test.reports}">
            <fileset dir="${test.reports}">
                <include name="TEST-*.xml" />
            </fileset>
            <report todir="${test.reports}" />
        </junitreport>
    </target>

</project>
Run Code Online (Sandbox Code Playgroud)

这是控制台上的输出:

[junit] Using CLASSPATH C:\eclipse\eclipse-java-helios-SR1-win32\eclipse\JunitWS\SeleniumTraining\src;C:\jars\junit.jar;C:\ant\lib\ant-launcher.jar;C:\ant\lib\ant.jar;C:\ant\lib\ant-junit.jar;C:\ant\lib\ant-junit4.jar 
[junit] Testsuite: com.tests.nav1 
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 48.187 sec 
[junit] ------------- Standard Output --------------- 
[junit] testnav2 
[junit] ------------- ---------------- --------------- 
[junitreport] Using class org.apache.tools.ant.taskdefs.optional.TraXLiaison 
[junitreport] Processing C:\eclipse\eclipse-java-helios-SR1-win32\eclipse\JunitWS\SeleniumTraining\src\reports\TESTS-TestSuites.xml to C:\Users\pmahajan\AppData\Local\Temp\null236099757 
[junitreport] Loading stylesheet jar:file:/C:/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl 
[junitreport] Transform time: 330ms 
[junitreport] Deleting: C:\Users\pmahajan\AppData\Local\Temp\null236099757 

BUILD SUCCESSFUL
Total time: 49 seconds
Run Code Online (Sandbox Code Playgroud)

Rag*_*ram 7

如果你看一下ant片段,有一些问题:

  • 您已设置usefile=false,这意味着不会创建任何输出文件
  • 您已设置formatter type=brief,将仅为失败的测试打印详细信息
  • 您还需要指定todir- 报告必须在<test>标记中的文件夹 - 默认为当前文件夹.这应该与您在<junitreport>任务中使用的文件夹相匹配.

您可以尝试使用以下更新的<junit>部分...

    <junit>
        <classpath refid="classpath.test" />
        <formatter type="xml"/>
        <test name="com.tests.nav1" todir="${test.reports}"/>
    </junit>
Run Code Online (Sandbox Code Playgroud)