二、编写ant文件自动运行java单元测试
之后,我们在sincky目录下,创建一个build.xml文件,完成它的编译和测试任务,这里我为build.xml文件加了注释,供大家参考:
<!—build的项目名称叫money_demo,默认执行的任务是compile,根目录指当前目录,也就是sincky文件夹 -->
<project name="money_demo" default=" compile " basedir=".">
<description>
moneytest build file
</description>
<!—定义一个属性src,指向src目录-->
<property name="src" location="src"/>
<!—定义一个属性build,指向build目录,这个目录放置所有的编译后class文件,该目录目前没有创建-->
<property name="build" location="build"/>
<!—定义一个build的classpath,里边放置后边任务里需要的依赖库和依赖路径-->
<path id="build.classpath">
<pathelement path="${ant.home}/lib/junit.jar"/>
<pathelement path="${build}"/>
</path>
<!--构建编译任务,先创建build文件夹,之后将srcdir里的java文件编译到build目录里-->
<target name="compile" >
<mkdir dir="${build}"/>
<javac srcdir="${src}" destdir="${build}"/>
</target>
<!--运行junit测试,运行的是MoneyTest,该运行依赖于build.classpath定义的路径 -->
<target name="test">
<java classname="MoneyTest" fork="yes">
<classpath refid="build.classpath"/>
</java>
</target>
<!--删除build文件夹的任务-->
<target name="clean">
<delete dir="${build}"/>
</target>
</project>
<project name="money_demo" default=" compile " basedir=".">
<description>
moneytest build file
</description>
<!—定义一个属性src,指向src目录-->
<property name="src" location="src"/>
<!—定义一个属性build,指向build目录,这个目录放置所有的编译后class文件,该目录目前没有创建-->
<property name="build" location="build"/>
<!—定义一个build的classpath,里边放置后边任务里需要的依赖库和依赖路径-->
<path id="build.classpath">
<pathelement path="${ant.home}/lib/junit.jar"/>
<pathelement path="${build}"/>
</path>
<!--构建编译任务,先创建build文件夹,之后将srcdir里的java文件编译到build目录里-->
<target name="compile" >
<mkdir dir="${build}"/>
<javac srcdir="${src}" destdir="${build}"/>
</target>
<!--运行junit测试,运行的是MoneyTest,该运行依赖于build.classpath定义的路径 -->
<target name="test">
<java classname="MoneyTest" fork="yes">
<classpath refid="build.classpath"/>
</java>
</target>
<!--删除build文件夹的任务-->
<target name="clean">
<delete dir="${build}"/>
</target>
</project>
C:cloversincky>ant
Buildfile: build.xml
compile:
[mkdir] Created dir: C:cloversinckybuild
[javac] Compiling 4 source files to C:cloversinckybuild
BUILD SUCCESSFUL
Total time: 4 seconds
Buildfile: build.xml
compile:
[mkdir] Created dir: C:cloversinckybuild
[javac] Compiling 4 source files to C:cloversinckybuild
BUILD SUCCESSFUL
Total time: 4 seconds
现在你会在sincky目录下发现多了一个build目录,进入build目录,看见里边编译好的4个class文件,恭喜你,这个任务胜利完成!
下面我们来运行单元测试任务:
C:cloversincky>ant test
Buildfile: build.xml
test:
[java] ......................
[java] Time: 0.016
[java] OK (22 tests)
BUILD SUCCESSFUL
Total time: 1 second
Buildfile: build.xml
test:
[java] ......................
[java] Time: 0.016
[java] OK (22 tests)
BUILD SUCCESSFUL
Total time: 1 second
可以通过结果看出,22个测试用例全部通过;junit里边测试通过是.表示,测试失败是.F表示。关于ant的命令帮助,你可以输入ant –h查看。