Jenkins集成Maven代码覆盖率插件Cobertura

Jenkins集成Maven代码覆盖率插件Cobertura可以很好的测试到没有做单元测试的代码,代码测试覆盖率也是一个衡量代码质量的因素。Maven为我们提供了Cobertura插件,可以很好地配置到pom.xml文件中集成。除了Cobertura,还有一款商业测量代码覆盖率插件Clover。

pom.xml依赖配置

[html]  view plain  copy
  1. <build>  
  2.         <plugins>  
  3.             .....  
  4.             <!-- code cover rage -->  
  5.             <plugin>  
  6.                 <groupId>org.codehaus.mojo</groupId>  
  7.                 <artifactId>cobertura-maven-plugin</artifactId>  
  8.                 <version>2.6</version>  
  9.                 <configuration>  
  10.                     <formats>  
  11.                         <format>html</format>  
  12.                         <format>xml</format>  
  13.                     </formats>  
  14.                 </configuration>  
  15.             </plugin>  
  16.         </plugins>  
  17.     </build>  

Jenkins Cobertura插件安装

注意:安装后重启Jenkins生效。

Jenkins构建配置Cobertura


使用命令:mvn cobertura:cobertura 后面加了-Pmetrics表示生成报告

注意:如果包含模块功能,命令使用:mvn site   请参考http://www.mkyong.com/qa/maven-cobertura-code-coverage-example/

Jenkins构建后 Cobertura代码测试覆盖率报告配置


这里按照提示配置就可以了:


测试代码覆盖率报告查看

到任务主界面查看:

点击左侧Coverage Report查看:

商业的代码覆盖率插件Clover


Clover是一款来自Atlassian 优秀的商业代码覆盖率工具。

官方地址:https://www.atlassian.com/software/clover

下载地址:https://www.atlassian.com/software/clover/download

Jenkins Clover插件Github地址:https://github.com/atlassian/clover-jenkins-plugin

注:使用方法类似与Cobertura。

POM中配置(使用此版本的插件,不需要licence,但是只能运行在linux下的机器上):

[java]  view plain  copy
  1. <build>  
  2.         <plugins>  
  3.             <plugin>  
  4.                 <groupId>com.atlassian.maven.plugins</groupId>  
  5.                 <artifactId>maven-clover2-plugin</artifactId>  
  6.                 <version>1.0.0.nl-SNAPSHOT</version>  
  7.                 <configuration>  
  8.                     <contextFilters>catch,static</contextFilters>  
  9.                     <includes>  
  10.                         <include>*.java</include>  
  11.                     </includes>  
  12.                     <includesTestSourceRoots>false</includesTestSourceRoots>  
  13.                     <generateHistorical>true</generateHistorical>  
  14.                     <encoding>GBK</encoding>  
  15.                 </configuration>  
  16.             </plugin>  
  17.         </plugins>  
  18.     </build>  

问题:如果按照以上操作没有正确生成覆盖率文件,初步判断是 jar包中的lisence没有生效。window 系统下,当官网上注册生成自己的证书,不过只能用30天,主POM中配置:

[java]  view plain  copy
  1.      <plugin>  
  2.     <groupId>com.atlassian.maven.plugins</groupId>  
  3.     <artifactId>maven-clover2-plugin</artifactId>  
  4.     <version>2.5.1</version>  
  5.     <configuration>  
  6.         <includesTestSourceRoots>false</includesTestSourceRoots>  
  7.         <generateHistorical>true</generateHistorical>  
  8.         <encoding>GBK</encoding>  
  9.         <licenseLocation>D:/clover.license</licenseLocation>  
  10.     </configuration>  
  11. </plugin>  

带有单元测试集的子POM配置:(跳过开发的单元测试集,我们自己的qatest就不需要添加这些代码了)

[java]  view plain  copy
  1. <plugin>  
  2. <groupId>org.apache.maven.plugins</groupId>  
  3. <artifactId>maven-surefire-plugin</artifactId>     
  4.         <version>2.4.2</version>     
  5.         <configuration>     
  6.           <skipTests>true</skipTests>     
  7.         </configuration>     
  8. </plugin>     

构建命令:

[java]  view plain  copy
  1. clover2:setup test clover2:aggregate clover2:clover -Dmaven.test.failure.ignore  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值