2、定义相关任务
<taskdef resource="cactus.tasks" classpathref="project.classpath"/>
<taskdef name="runservertests" classname="org.apache.cactus.integration.ant.
RunServerTestsTask">
<classpath>
<path refid="project.classpath"/>
</classpath>
</taskdef>
3、编译应用的类文件和测试的类文件4、打包整个应用为war文件
需要注意的是,不仅要打包应用类,测试类也要打包
<target name="war" depends="compile.java"
description="Generate the runtime war">
<war warfile="${target.dir}/${project.name}.war"
webxml="${src.webapp.dir}/WEB-INF/web.xml">
<fileset dir="${src.webapp.dir}">
<exclude name="cactus-report.xsl"/>
<exclude name="WEB-INF/cactus-web.xml"/>
<exclude name="WEB-INF/web.xml"/>
</fileset>
<classes dir="${target.classes.java.dir}"/>
<!-- 别忘了打包测试类 -->
<classes dir="${target.classes.test.dir}"/>
<!-- 别忘了打包各种相关的jar文件 -->
< lib dir="project.classpath"/>
</war>
</target>
5、在应用的web.xml文件中添加测试所需的各种映射
cactus提供了两个task来完成这个工作,CactifyWar和WebXmlMerge。
CactifyWar的功能是自动在已经打包的应用的web.xml文件中添加所需的映射。WebXmlMerge是提供合并两个web.xml文件的功能。
<target name="test.prepare"
depends="war, compile.cactus, test.prepare.logging">
<!-- Cactify the web-app archive -->
<cactifywar srcfile="${target.dir}/${project.name}.war"
destfile="${tomcat.home}/webapps/${project.name}-cactified.war"
>
<classes dir="${target.classes.java.dir}"/>
<classes dir="${target.classes.test.dir}"/>
<lib dir="project.classpath"/>
</cactifywar>
</target>