1.Junit.jar(和jakarta-ant-optional.jar 不是必须) 放在ant_home/lib中,用于支持build.xml中的<junit>标签
2.修改build.xml,在任意两个target之间添加一个新的target, 配置name和depends属性,name属性是必须的,depends是依赖的另一个target(如下,依赖compileBase,copyProperties分别是编译.java文件和copy配置文件的garget).
3.在新的target中添加<junit>标签,添加测试任务,在<junit>标签中添加<classpath>标签,配置.class文件的目录和依赖.jar文件的目录(将junit和mockito的jar指 导classpath中)
4.添加<batchtest>标签(<test>标签执行单个测试用例),定义多个测试文件,指定<include>标签的name属性为“**/*Test.class”(测试类在创建时依据命名规范,以Test.class结尾)
<test name="com.glen.he.SimpleCalculationTest"/>
5.在<batchtest>标签内部添加<formatter>标签,将测试结果生成指定文件的测试结果
brief:以文本格式提供测试失败的详细内容;
plain:以文本格式提供测试失败的详细内容以及每个测试的运行统计;
xml:以xml格式提供扩展的详细内容,包括正在测试时的Ant特性,系统输出,以及每个测试用例的系统错误.
6.<junitreport>导出测试结果到一个.xml文件中生成HTML页面(如果<formatter>标签不在<batchtest>标签内部,生成的xml文件为空,并导致HTML页面打开没有数据,HTML页面的数据,依赖于xml文件)
7.<delete>删除测试结果
8.在build.xml文件中找一个合适的target在depends中添加测试的target的name值,用“,”分隔(英文逗号)。所选的target必须在编译.java文件的target执行之后执行的target。
<target name="test" depends="compileBase,copyProperties"> <property name="testReport" value="./deployment/testReport"/> <delete dir="${testReport}" /> <mkdir dir="${testReport}" /> <!—执行测试--> <junit> <classpath> <fileset dir="./lib/"> <include name="**/*.jar"/> </fileset> <pathelement location="${base.classesdir}/${classes}"/> </classpath>
<batchtest todir="${testReport}"> <formatter type="xml" usefile="true"/> <fileset dir="${base.classesdir}/${classes}"> <include name="**/*Test.class"/> </fileset> </batchtest> </junit> <!—导出测试报告--> <junitreport todir="${testReport}"> <fileset dir="${testReport}"> <include name="Test-*.xml" /> </fileset> <report format="frames" todir="${testReport}"/> </junitreport> <!--删除xml的测试结果 <delete dir="${testReport}"> <include name="*.xml" /> </delete> --> </target> |
注:如果配置没有出错,但是生成HTML页面出错,可以查看一下xalan支持情况。
Xalan ,将测试结果导出到HTML统计页面,由于xalan对jdk1.4上支持问题,需要在java_home/jre/lib/endorsed中添加xalan的全部jar包(我的jdk版本是1.5.0_14,不需要导入额外的xalan包)