Ant集成Junit实现自动化测试的Build.xml模板详解

Apache Ant简介

简单的讲,Ant是一个命令行工具,可以用来编译java文件,执行java程序,生成jar文件,执行测试等。

Ant主要依赖与一个build.xml的配置文件,下面就是一个build.xml集成junit的模板。

用XML编写,至少包含一个project和一个target.

这里创建了5个target任务,分别是:
clean:用来清除Ant任务常见的文件;
compile :用来编译代码;
init:用来初始化的时候创建文件夹;
junit:用来执行junit测试类
war:用来打包的;

<?xml version="1.0" ?> 
<!-- name配置项目名称,default配置打包默认包。war、jar这种。-->
<project name="MyProject" default="war">
    <!-- property标签相当于Java中的成员变量,在下方会以${name}引用vale中的值 -->
    <property name="junit-report" value="build/junit-report"/>
    <!-- 这里配置JavaWeb项目需要使用的所有Jar包 -->
    <path id="compile.classpath">
        <fileset dir="webapp/WEB-INF/lib">
            <include name="*.jar"/>
        </fileset>
    </path>
    <!-- Ant任务:init,任务目的:创建文件夹 -->
    <target name="init">
        <mkdir dir="build/classes"/>
        <mkdir dir="dist" />
        <mkdir dir="build/junit-report" />
    </target>
    <!-- Ant任务:compile,任务目的:编译源代码 ,依赖(depends):init任务-->
    <target name="compile" depends="init" >
        <!-- 将代码编译至destdir目录下,源代码的位置是在srcdir目录下 -->
        <javac destdir="build/classes" debug="true" srcdir="src" encoding="UTF-8">
            <!-- 使用refid引用上面配置的Jar包 -->
            <classpath refid="compile.classpath"/>
        </javac>
    </target>
    <!-- Ant任务:war,任务目的:打包,依赖(depends):compile任务 -->
    <target name="war" depends="compile">
        <war destfile="dist/MyProject.war" webxml="webapp/WEB-INF/web.xml">
            <fileset dir="webapp"/>
            <classes dir="build/classes"/>
        </war>
    </target>
    <!-- Ant任务:clean,任务目的:清除Ant任务产生的文件 -->
    <target name="clean">
        <delete dir="dist" />
        <delete dir="build" />
    </target>
    <!-- Ant任务:junit,任务目的:测试,依赖(depends):compile任务 -->
    <target name="junit" depends="compile">
        <!--配置测试报告生成的位置,这里使用${}引用上方的变量-->
        <junitreport todir="${junit-report}">
            <fileset dir="${junit-report}">
                <include name="TEST-*.xml"/>
            </fileset>
        </junitreport>
        <!--配置运行时classpath-->
        <path id="run_test_path">
            <fileset dir="webapp/WEB-INF/lib">
                <include name="*.jar"/>
            </fileset>
            <pathelement path="build/classes"/>
        </path>

        <junit printsummary="yes" haltonfailure="no">
            <!--配置运行时classpath-->
            <classpath refid="run_test_path" />
            <!--测试报告以文本的形式生成,type配置成xml,以xml的形式生成测试报告-->
            <formatter type="plain"/>
            <batchtest fork="yes" todir="${junit-report}">
                <!-- 这里路径指向测试类 -->
                <fileset dir="src" includes="/**/*Test.java"/>
            </batchtest>
        </junit>
    </target>
</project>

踏实一些,不要着急,你想要的,岁月都会给你。

猜你喜欢

转载自blog.csdn.net/qq_28082757/article/details/72832666