关于持续集成目前有很多的主流框架像(CruiseControl、Luntbuild、Continuum)对集成测试这方面都支持的不错,在这里我主要谈一下Luntbuild持续集成框架集成maven项目来做持续集成测试。
一、创建一个持续集成项目
在luntbuild中创建maven项目其它基本一致,只是在建Builders 的时候需要选择Maven2 builer,在你的持续集成服务器上需要安装maven2环境。大概有如下几个参数需要注意一下:
Command to run Maven2:指定你的mvn执行命令路径,即你持续集成服务器上的mvn本地路径。
Directory to run Maven2 in:默认是你当前项目的跟目录,及执行总控pom文件。不过你也可以指定其中一个子项目目录。
Goals to build:只是你要执行的maven插件。
Build properties:如果maven插件中需要用到一些变量和一些jvm参数,可以在这里定义。例如:在mvn构建时我需要指定autoConfig文件的属性文件,那么增加一个变量userProp=“xxx”即可。
其它一些参数关系可以使用原来默认配置。
图:
二、集成maven插件(junit、覆盖率、pmd代码检查插件)
生成Junit报告:在Goals增加surefire-report:report ,除了在Builders中增加Goals还不够,因为maven的surefire插件报告默认路径是当前项目的target目录中,通过luntbuild的web站点是不能够访问的,因为luntbuild的web站点是publish目录,那么我们应该把单元测试报告复制到publish中当前版本目录中。很简单,只要在你的pom文件中自定义的surefire的插件配置就可以了。指定一个报告输出目录,具体参数可以参考插件的官方网站:
http://maven.apache.org/plugins/maven-surefire-report-plugin/report-mojo.html
下面是项目的pom配置文件,大家可以参考。
注意:关于配置文件中${junitHtmlReportDir}变量一定要在luntbuild的build properties中配置,这样luntbuild才把这个变量添加到jvm参数中,mvn进程生命周期内才能访问该变量。
生成覆盖率报告:在Goals增加cobertura:cobertura
插件配置同上
生成Pmd报告:在Goals增加pmd:pmd
插件配置同上
三、查看测试报告
当上面配置都完成后即可以开始构建项目,构建完成后你查看当前构建版本,在Report中就会发现每个插件的测试报告。
如图: