<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="main" name="excute TestCase and build test report">
<!-- 测试报告存放目录 -->
<property name="build.reports.dir" value="${basedir}/report" />
<target name="main">
<!-- 删除测试报告数据,重新生成 -->
<delete>
<fileset dir="${basedir}/report">
<include name="*.*" />
</fileset>
</delete>
<junit fork="yes" printsummary="true">
<!-- 生成的class目录以及执行TestCase所依赖的库
无论是用<test>还是<batchtest>都要这个配置 -->
<classpath location="${basedir}/bin" />
<!-- 生成报告数据的格式,可能多个,支持xml/brief/plain -->
<formatter type="xml" />
<formatter type="brief" usefile="false" />
<!-- 可以用<test>也可以用<batchtest>,但两种的设置有一些区别
以下<test>和<batchtest>三种形式用某一种就可以的 -->
<!-- name指定Class的名称,如CatTest或com.unmi.CatTest -->
<test name="CatTest" todir="${build.reports.dir}" />
<!-- 注意其中<fileset>的dir属性及<include>的name属性指代的意义 -->
<batchtest todir="${build.reports.dir}">
<!-- dir属性指定TestCase类的源代码的路径 -->
<fileset dir="${basedir}/src">
<!-- name属性指定TestCase源文件规则 -->
<include name="**/*Test.java" />
</fileset>
</batchtest>
<!-- 上面的<batchtest>还可以写成如下形式,<fileset>按指定为class
注意其中<fileset>的dir属性及<include>的name属性指代的意义 -->
<batchtest todir="${build.reports.dir}">
<!-- dir属性指定TestCase类的路径 -->
<fileset dir="${basedir}/bin">
<!-- name属性指定TestCase类文件规则 -->
<include name="**/*Test.class" />
</fileset>
</batchtest>
</junit>
<!-- 用执行以上TestCase生成的报告数据生成测试报告 -->
<junitreport todir="${build.reports.dir}">
<fileset dir="${build.reports.dir}">
<include name="TEST-*.xml" />
</fileset>
<!-- 指定生成测试报告的格式frames/noframes,和报告存放目录 -->
<report format="frames" todir="${build.reports.dir}" />
</junitreport>
</target>
</project>