ANT:自动测试、生成测试报告

源码放在src源码目录下

两个测试文件放在test源码目录下

新建lib文件夹,放入junit4的jar包

运行以下的build.xml自动生成测试报告

<?xml version="1.0" encoding="UTF-8"?>
<project name="junit-test">
    <property name="src.dir" location="src"></property>
    <property name="test.src.dir" location="test"></property>
    <property name="lib.dir" location="lib"></property>
    <property name="build.dir" location="build"></property>
    <property name="build.classes" location="${build.dir}/classes"></property>
    <property name="build.test.dir" location="${build.dir}/test"></property>
    <property name="build.test.classes" location="${build.test.dir}/classes"></property>
    <property name="build.test.report" location="${build.test.dir}/report"></property>

     //运行所有的测试文件
    <property name="run.test.class" value="**/Test*.class"></property>
    //包含进lib中的jar
    <path id="compile-path">
        <fileset dir="${lib.dir}" includes="*.jar"></fileset>
    </path>
    
    <path id="compile-test-path">
        <path refid="compile-path"></path>
        <pathelement location="${build.classes}"/>
    </path>
    
    <path id="run-test-path">
        <path refid="compile-test-path"></path>
        <pathelement location="${build.test.classes}"/>
    </path>
    
    <target name="clean">
        <echo>进行项目的清理工作</echo>
        <delete dir="${build.dir}"></delete>
    </target>
    
    <target name="init">
        <echo>进行项目的初始化</echo>
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.classes}"/>
        <mkdir dir="${build.test.dir}"/>
        <mkdir dir="${build.test.classes}"/>
        <mkdir dir="${build.test.report}"/>
    </target>
    
    <target name="compile" depends="init">
        <echo>编译源文件</echo>
        <javac failonerror="true" includeantruntime="true" srcdir="${src.dir}" destdir="${build.classes}" classpathref="compile-path"></javac>
    </target>
    
    <target name="compile-test" depends="compile">
        <echo>编译测试文件</echo>
        <javac failonerror="true" includeantruntime="true" srcdir="${test.src.dir}" destdir="${build.test.classes}" classpathref="compile-test-path"/>
    </target>
    
    <target name="run-test" depends="compile-test">
        <echo>运行单元测试</echo>
        <junit printsummary="false" haltonfailure="false">
            <classpath refid="run-test-path"></classpath>
            <formatter type="brief" usefile="false"/>
            <!--<test name="${run.test.class}"></test>-->
            <formatter type="xml"/>
            <batchtest todir="${build.test.report}">
                <fileset dir="${build.test.classes}" includes="${run.test.class}"></fileset>
            </batchtest>
        </junit>
        <junitreport todir="${build.test.report}">
            <fileset dir="${build.test.report}" includes="TEST-*.xml"></fileset>
            <report format="frames" todir="${build.test.report}/html"/>
        </junitreport>
    </target>
    
    <target name="end" depends="run-test">
        <echo>整个过程结束</echo>
    </target>
</project>



你可能感兴趣的:(ANT:自动测试、生成测试报告)