运行所有类并使用ant和Junit将所有执行数据保存在report中

时间:2013-08-06 11:05:34

标签: ant junit

我已经创建了一个构建文件,并根据我的项目(Selenium和Junit)对其进行了配置。 现在的问题是当我运行构建文件时,它只运行第一个类并将其保存在HTML报告中。 任何人都可以告诉我做错了什么以及应该编辑/替换什么?

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant" default="exec" basedir=".">

    <property name="src" value="./src" />
    <property name="lib" value="./lib" />
    <property name="bin" value="./bin" />
    <property name="report" value="./report" />
    <path id="ant.classpath">
        <pathelement location="${bin}" />
        <fileset dir="${lib}">
            <include name="**/*.jar" />
            <include name="C:/Users/bhmehta/workspace/ant/lib/libs/*.jar" />
        </fileset>
    </path>

    <target name="init">
        <delete dir="${bin}" />
        <mkdir dir="${bin}" />
    </target>

      <target name="compile" depends="init" description="compile the source " >
         <!-- Compile the java code from ${src} into ${build} -->
            <javac debug="true" 
                srcdir="${src}" 
                destdir="${bin}"    
                includeantruntime="false"
                classpathref="ant.classpath"/>
                <!-- Copy files from ${src} into ${build} -->
            <copy todir="${bin}"> 
                <fileset dir="${src}">
                    <exclude name="**/*.java"/>
            </fileset>
            </copy>
      </target>

    <target name="exec" depends="compile">
        <delete dir="${report}" />
        <mkdir dir="${report}" />
        <mkdir dir="${report}/xml" />
            <junit 
                printsummary="yes" 
                haltonfailure="no"
                >
                <classpath><pathelement location="${ant.classpath}" /> </classpath>     

                <test  name="testing.demo" haltonfailure="no" todir="${report}/xml" outfile="TEST-result">
                        <formatter type="xml" />
                </test>         

                <test  name="testing.demo1" haltonfailure="no" todir="${report}/xml" outfile="TEST-result">
                                        <formatter type="xml" />
                </test>

            </junit>
            <junitreport todir="${report}">
                <fileset dir="${report}/xml">
                    <include name="TEST*.xml" />
                </fileset>
                <report format="frames" todir="${report}/html" />
            </junitreport>
    </target>
</project>

我还尝试了使用<batchtest </batchtest>标签给出类似问题的一些解决方案。但它显示错误,如

The <junit> type doesn't support ne sted text data (">").

我真的不知道这是怎么回事。 请一些帮助

1 个答案:

答案 0 :(得分:1)

批量测试中有拼写错误。应该是:<batchtest> </batchtest>。试试这个:

<junit haltonfailure="no" printsummary="yes" fork="yes">
    <classpath>
        <pathelement location="${ant.classpath}" />
    </classpath>
    <formatter type="xml"/>
    <batchtest todir="${report}">
        <fileset dir="src" includes="**/*.class" />
    </batchtest>
</junit>

运行测试后,按照您需要的方式配置构建。