技术开发 频道

ant+cactus+tomcat5.5容器内单元测试

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>
0
相关文章