就本人公司 每日构建的 实现
发表于: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