Web项目自动化测试部署之代码区分技巧

发表于:2010-5-26 11:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Zianed    来源:51Testing软件测试网采编

  做到Web项目的自动化测试与部署,主要是如何将测试代码与项目代码区分开来,实现项目的自动化测试,实现项目的自动化部署。

  一个小技巧:在Eclipse中建立一个项目时,就可以默认的将那个WEBROOT目录重新指定为真正的项目名字即可,如lfuture。

  部署的时间,采用一个配置文件,直接指向代码到该目录中即可。非常方便。

  build.properties

 #project information
 project.name=lfuture
 project.version=1.0.0
 build.dir=.
 #java source infomation
 src.dir=src
 testsrc.dir=testsrc
 #test and dist information
 test.dir=test
 dist.dir=dist

  build.xml

<project default="test-junit">
 <property file="build.properties" />

 <property name="project.classes.dir" value="${project.name}/WEB-INF/classes" />
 <property name="test.classes.dir" value="${test.dir}/classes" />

 <path id="compile.classpath">
  <!-- Include the Junit JAR file-->
  <fileset dir="${project.name}/WEB-INF/lib">
   <include name="*.jar" />
  </fileset>
 </path>

 <path id="compile.test.classpath">
  <!-- Include the Junit JAR file-->
  <fileset dir="${test.dir}/lib">
   <include name="*.jar" />
  </fileset>
 </path>

 <target name="clean">
  <delete dir="${dist.dir}" />
  <delete>
   <fileset dir="${project.classes.dir}">
    <include name="**/*Test*.class" />
   </fileset>
  </delete>
 </target>

 <target name="prepareDir" depends="clean">
  <mkdir dir="${dist.dir}" />
  <mkdir dir="${project.classes.dir}" />
 </target>

 <target name="compile" depends="prepareDir" description="Compile Java sources">
  <!-- Compile Java classes-->
  <javac srcdir="${src.dir}" destdir="${project.classes.dir}" optimize="true" debug="on">
  </javac>
 </target>

 <target name="dist" depends="compile" description="Create Javadoc API documentation">
  <!-- Generate the war package -->
  <jar destfile="${dist.dir}/${project.name}.war" basedir="${project.name}" />

  <mkdir dir="${dist.dir}/docs" />
  <mkdir dir="${dist.dir}/docs/api" />
  <!-- Generate the Java doc api -->
  <javadoc destdir="${dist.dir}/docs/api">
   <classpath refid="compile.classpath" />
   <packageset dir="${src.dir}" defaultexcludes="no">
   </packageset>
  </javadoc>
 </target>

 <target name="test-compile" depends="compile" description="Compile Java test sources">
  <mkdir dir="${test.dir}/classes" />

  <!-- Compile Java Test classes-->
  <javac srcdir="${testsrc.dir}" destdir="${test.classes.dir}/" optimize="true" debug="on">
   <classpath refid="compile.classpath" />
   <classpath refid="compile.test.classpath" />
   <classpath path="${project.classes.dir}" />
  </javac>
 </target>

 <target name="test-junit" depends="test-compile">
  <mkdir dir="${test.dir}/report" />

  <!-- Auto run all test cases -->
  <junit fork="on" printsummary="on" showoutput="true">
   <classpath refid="compile.classpath" />
   <classpath refid="compile.test.classpath" />
   <classpath path="${project.classes.dir}" />
   <classpath path="${test.classes.dir}" />
   <formatter type="xml" />
   <batchtest todir="${test.dir}/report">
    <fileset dir="${test.dir}/classes">
     <include name="**/*Test*.class" />
    </fileset>
   </batchtest>
  </junit>

  <!-- Report the test result-->
  <junitreport todir="${test.dir}/report">
   <fileset dir="${test.dir}/report">
    <include name="TEST-*.xml" />
   </fileset>
   <report format="frames" todir="${test.dir}/report" />
  </junitreport>
 </target>
</project>

  在ant中采用ant -p 命令即可列出当前所有的可执行命令。

  lfuture.xml

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="E:/workspace/lookingfuture/lfuture" path="/lfuture">
</Context>

  将该文件放置在D:\apache-tomcat-5.5.27\conf\Catalina\localhost 目录中即可。

  采用该种配置异常方便。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号