就本人公司 每日构建的 实现

发表于:2008-09-17来源:作者:点击数: 标签:构建
当了版主这么长时间,没有发帖子,实在不好意思,现在,我只是针对 本公司 java 项目的每日构建 介绍一下,希望对大家有一些帮助。同时也可以相互探讨: 我们公司的一个项目是java 开发 的,web 应用 基于 tomcat 运行,后台 数据库 是 oracle 。 代码 版本
 当了版主这么长时间,没有发帖子,实在不好意思,现在,我只是针对 本公司 java 项目的每日构建 介绍一下,希望对大家有一些帮助。同时也可以相互探讨:

    我们公司的一个项目是java 开发的,web 应用 基于 tomcat 运行,后台
数据库oracle。   代码版本控制是 cvs 。 代码服务器在美国。

    作为 一家外包公司,每天我们程序员 在上班的第一天开始 从cvs 下载最新的代码,编译,如果有冲突,会解决冲突,没有的话,开始编码,作为我们公司的
测试人员,基于公司的模式,我们实现以下 构建。

编译
     ant 提供了强大的编译功能,我们在开始写 build.xml 的时候,并没有写 compile 这步,而是直接从cvs 里面下载相应模块的build。xml 后,调用。这样做的目的是为了保证测试 和 开发的 使用同一套 编译脚步编译,保证协调 ,一致性。
     这里,我们使用了 ant 的如下功能:
      <ant antfile="build.xml" dir="./${release.home}/cvs/DPS/PhaseII/AE/" target="all"/>

    编译好的代码,我们会 自己拷贝到对应的 目录。

单元测试
     junit ,对应的测试模块,我们的开发人员已经 提交到cvs ,我们从cvs update 后,编译运行。在运行之前,先在数据库里 初始化 相应的测试数据,在ant 中,我们使用下面的方法 插入数据到 数据库:
    <target name="dbinit_insert">
      <sql
               driver="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@192.168.100.1:1521:china"
               userid="uni_app2"
               password="ladodgers"
               onfiltered="continue"
               >
               <transaction  src="./sql/InsertTestOrderNoteData.sql"/>   <!-- For Test Case TestUserLiveValidation -->
               <transaction  src="./sql/TestUserLiveValidationBegin.sql"/>   <!-- For Test Case TestUserLiveValidation -->
               <transaction  src="./sql/InsertTestCreateInventoryData.sql"/> <!-- For Test Case TestCreateInventory -->
               <transaction  src="./sql/InsertTestPerformanceVenueData.sql"/> <!-- For Test Case TestPerformanceVenue -->
               <transaction  src="./sql/InsertTestPerformanceManifestData.sql"/> <!-- For Test Case TestPerformanceManifest -->
               <transaction  src="./sql/InsertTestPerformanceData.sql"/> <!-- For Test Case TestPerformance -->
               <transaction  src="./sql/InsertTestPerformancePriceCodeData.sql"/> <!-- For Test Case TestPerformancePriceCode -->
               <classpath>
   <path refid="lib.path"/>
        </classpath>
          </sql>
     </target>

    然后开始 运行单元测试。

   

原文转自:http://www.ltesting.net