• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

自动进行团队构建和单元测试过程

发布: 2009-4-01 10:11 | 作者: 不详 | 来源: 测试时代采编 | 查看: 123次 | 进入软件测试论坛讨论

领测软件测试网

安装 CruiseControl

下一个工作是下载 CruiseControl(请参阅参考资料)并把它安装在 pkg 目录中:

[cruise@fcvm pkg]$wget -q http://heanet.dl.sourceforge.net/\ sourceforge/cruisecontrol/cruisecontrol-2.2.1.zip[cruise@fcvm pkg]$unzip cruisecontrol-2.2.1.zipArchive: cruisecontrol-2.2.1.zip creating: cruisecontrol-2.2.1/ creating: cruisecontrol-2.2.1/contrib/[...]inflating: cruisecontrol-2.2.1/reporting/jsp/webcontent/xsl/testdeta ils.xsl inflating: cruisecontrol-2.2.1/reporting/jsp/webcontent/xsl/unittest s.xsl [cruise@fcvm pkg]$rm cruisecontrol-2.2.1.zip[cruise@fcvm pkg]$

不需要构建 CruiseControl,因为发行包中包含一个预先构建好的 JAR 文件。

现在可以让第一个自动构建工作了。这里将采用 XStream 项目的源树作为初始示例(请参阅参考资料)。稍后您将会学习到如何添加来自本地和远程源代码仓库的更多项目。CruiseControl 从自己的启动目录中叫作 config.xml 的文件中读取要构建的项目的信息。在本文的安装中,这个目录是 /home/cruise。清单 1 显示了一个简单的 config.xml 文件的内容,可以从它开始。要创建它,只要把清单 1 中的文本拷贝到一个新文件就可以了:


清单 1. 构建 XStream 的简单的 CruiseControl config.xml 文件
<?xml version="1.0"?> <cruisecontrol> <project name="xstream" buildafterfailed="false"> <listeners> <currentbuildstatuslistener file="log/build/xstream/status.txt"/> </listeners> <modificationset> <filesystem folder="/home/cruise/force-build/xstream"/> <svn LocalWorkingCopy="src/xstream"/> </modificationset> <schedule interval="3600"> <ant antscript="/usr/bin/ant" uselogger="true" antworkingdir="src/xstream" multiple="1" target="library"/> <ant antscript="/usr/bin/ant" uselogger="true" antworkingdir="src/xstream" multiple="5" target="clean library"/> </schedule> <log dir="log/build/xstream"/> <dateformat format="dd/MM/yyyy HH:mm:ss"/> </project> </cruisecontrol>

配置文件向 CruiseControl 提供了关于要构建的每个项目的三部分主要信息:

如何构建项目,在<schedule>元素中指定: 每 3,600 秒(即每小时)构建项目一次。 用 Ant 进行构建过程。 每进行到第 5 次构建时,清理构建制品(类文件以及前面构建中的类似内容)的源树。如何检测什么时候应当构建项目,在<modificationset>元素中指定: 用 Subversion(svn)检查源树的本地工作拷贝是否过期。(如果源代码没有变化,就不需要构建。) 检测强制构建目录中叫作 xstream 的文件的时间戳。这样即使源树没有变化,也可以手动强制进行下一次安排的构建。(在这篇文章后面,我将多次谈到可能需要这种手工覆盖。)对构建的结果要做什么,在<listeners>和<log>元素中指定: 把构建过程的输出放在 log/build/xstream 目录中加了时间戳的文件中。 把构建的整体状态写入这个目录中的一个文件。

现在需要从 XStream 项目的 Subversion 仓库中签出 XStream 源树。为了保持一致,请把所有源树签出为 /home/cruise/src 的子目录,并把 XStream 源树放在 src/xstream 中,就像 config.xml 文件所指定的那样:

[cruise@fcvm pkg]$cd[cruise@fcvm ~]$mkdir src[cruise@fcvm ~]$cd src[cruise@fcvm src]$svn co https://svn.codehaus.org/\ xstream/trunk/xstreamA xstream/LICENSE.txt A xstream/continuous-integration.xml[...]A xstream/build.xml U xstream Checked out revision 614. [cruise@fcvm src]$

然后,设置强制构建子目录:

[cruise@fcvm src]$cd ..[cruise@fcvm ~]$mkdir force-build[cruise@fcvm ~]$touch force-build/xstream[cruise@fcvm ~]$

最后这一步是必需的,因为如果 config.xml 文件的<filesystem>元素中指定的文件不存在,CruiseControl 会拒绝启动。

现在构建工作可能没有正常工作,也有可能遗漏了一些依赖项。所以这个时候,应当做一些手动检查,确保能够成功构建 XStream 源树:

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网