代码覆盖率-clover- 介绍

Jenkins基础教程(90)Jenkins自动化测试之使用Clover 测量代码覆盖率:Jenkins与Clover联手:让代码覆盖率一目了然! 代码覆盖率是衡量测试质量的重要指标,它能告诉我们有多少代码在测试过程中真正被执行了。在持续集成环境中,及时获取覆盖率数据可以帮助团队评估测试用例的效果,并找出可能存在的测试漏洞。今天,我们将深入探索如何在Jenkins中集成Clover工具,自动化测量代码覆盖率,让测试质量变得透明可见。 阅读详情
学习地址:
http://wiki.hudson-ci.org/display/HUDSON/Clover+Plugin
Hudson 上 可选择的代码覆盖率插件有: 
1.   Clover Plugin — 该插件是在Hudson中集成 Clover code coverage reports(代码覆盖测试分析工具)。
2.   Emma Plugin — 该插件在Hudson中集成EMMA code coverage reports (检测和报告 JAVA 代码覆盖率的开源工具)。Hudson will generate the trend report of coverage.
分析: Clover Plugin 强调重点:测试覆盖率的分析工具, Emma Plugin 强调重点:分析代码覆盖率的趋势。
比较Emma与Clover
链接:http://www.taobaotest.com/blogs/qa?bid=6425
使用方法:http://www.taobaotest.com/blogs/qa?bid=3820
注意事项:
 必须使用   free-style software project  构建工程;
如何配置一个能够进行代码覆盖率统计分析的项目?
1. POM中配置(使用此版本的插件,不需要licence,但是只能运行在linux下的机器上):
<build>
        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-clover2-plugin</artifactId>
                <version>1.0.0.nl-SNAPSHOT</version>
                <configuration>
                    <contextFilters>catch,static</contextFilters>
                    <includes>
                        <include>*.java</include>
                    </includes>
                    <includesTestSourceRoots>false</includesTestSourceRoots>
                    <generateHistorical>true</generateHistorical>
                    <encoding>GBK</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

问题:如果按照以上操作没有正确生成覆盖率文件,初步判断是 jar包中的lisence没有生效。
window 系统下,当官网上注册生成自己的证书,不过只能用30天,主POM中配置:
                 <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-clover2-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <includesTestSourceRoots>false</includesTestSourceRoots>
                    <generateHistorical>true</generateHistorical>
                    <encoding>GBK</encoding>
                    <licenseLocation>D:/clover.license</licenseLocation>
                </configuration>
            </plugin>
带有单元测试集的子POM配置:(跳过开发的单元测试集,我们自己的qatest就不需要添加这些代码了)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>   
        <version>2.4.2</version>   
        <configuration>   
          <skipTests>true</skipTests>   
        </configuration>   
</plugin>   

2,构建:
如果我们使用 

在goals 中输入: 

clover2:setup test clover2:aggregate clover2:clover -Dmaven.test.failure.ignore
备注:
如果我们队 checkout下来的代码不作处理,那么运行上面的命令就会直接执行所有module下的单元测试集,如果开发代码中的单元测试出现bug,那么会导致整个项目的运行失败,如何跳过开发的单元测试呢 ?
思考的方法一:删除开发代码下的test文件夹;证明是行不通的,因为我们每次运行代码前都会去 update 代码;
思考的方法二:命令中test后面添加-lp 指定只运行特定的模块,但是如果采用这个策略的话,只会在这顶的特定模块中打桩(clover),所以这种方法没法统计到开发的代码覆盖率(因为开发的代码没有被打桩)。
思考的方法二:在又单元测试的子module中,对POM文件做修改,在 <build> 添加代码:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId>   
        <version>2.4.2</version>   
        <configuration>   
          <skipTests>true</skipTests>   
        </configuration>   
</plugin>   
意思就是  跳过本module下的单元测试。
注意:修改开发代码中的POM,只能在我们运行的hudson机器的job中去修改,切记别提交开发代码。

3. 构建后操作: 

选择

Publish Clover Coverage Report 
Clover report directory: target/site/clover
Clover report file name: clover.xml


4.设置运行触发时间:
 schedule setting for build periodically in hudson
Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分 时 天 月 年。*代表所有,
                 0 12,20 * * * 表示在任何年任何月的任何天的12和20点的0分 进行构建!

Clover代码覆盖率测试工具Eclipse插件版安装与实战指南 Clover是一款由Atlassian推出的代码覆盖率分析工具,专为Java项目设计,广泛用于评估单元测试的完整性与有效性。其核心功能涵盖行覆盖率、分支覆盖率和条件覆盖率等多维度指标,能够精准识别未被测试触达的代码路径。通过在编译期对字节码进行插桩(instrumentation),Clover在运行时收集执行轨迹数据,并生成详尽的可视化报告。该工具支持与Eclipse、IntelliJ等IDE深度集成,同时可嵌入Jenkins、Bamboo等CI系统,实现从本地开发到自动化构建的全流程覆盖追踪。 阅读详情

相关推荐

单元测试与代码覆盖率的实践指南

代码覆盖率(Code Coverage)是指在软件测试过程中,被执行测试用例覆盖的代码部分与全部代码之间的比例。它是衡量测试完整性的一个重要指标,直接关联到软件的质量与可靠性。根据不同的维度,代码覆盖率可以分为几种类型:语句覆盖(Statement Coverage):这种覆盖率关注的是代码中每条语句是否被执行到。只要代码中的每一行至少被执行一次,那么就达到了100%的语句覆盖率。分支覆盖(Branch Coverage)

weixin_35815766的博客 1393

maven

pom.xml基础配置:  maven中,最让我迷惑的还是那一堆配置:  就拿这个属性配置来说:  Xml代码   properties>       project.build.sourceEncoding>UTF-8project.build.sourceEncoding>       spring.framework.version>3.0.5.REL

aaa1aaaaa的专栏 1289

maven-clover2-plugin-3.1.11.zip

QMQP-Java.zip,用于JavaJava的QMQP客户端库用于QMQP的Java客户端库

Clover 的使用方法解读

http://docs.atlassian.com/maven-clover2-plugin/2.5.1/ https://confluence.atlassian.com/display/CLOVER/Clover-for-Maven+2+and+3+Installation+Guide Clover: 当测试代码执行时,代码覆盖系统会收集哪些语句已被执行的信息,然后将这些信息作为基本

心静思远 1万+

代码覆盖率插件 eclipse clover3

代码覆盖率插件 eclipse clover3,内更新使用说明。

微生物组数据分析实战:从OTU/ASV过滤到相对丰度转换的标准化流程

本文详细介绍了微生物组数据分析中从原始OTU/ASV表格到标准化相对丰度表格的完整预处理流程。通过基于绝对丰度和出现频率的过滤步骤有效剔除测序噪音与污染,再通过相对丰度转换解决样本间测序深度差异问题,为后续的多样性分析和差异比较奠定可靠基础。文章提供了清晰的R语言实战代码与参数设置思路。

tree的博客 1257

使用maven-clover2-plugin测试代码覆盖率

首先给两个官网的地址: http://docs.atlassian.com/maven-clover2-plugin/2.3.1/usage.html http://maven.apache.org/archives/maven-1.x/plugins/clover/properties.html大家可以先看一下 下面我先说一下我对clover的理解:当测试代码执行时,代码覆盖系统会收集哪些语

2852

从零到一:DETR模型在自定义数据集上的实战部署与调优

本文详细介绍了DETR模型在自定义数据集上的实战部署与调优过程,包括环境准备、数据转换、模型配置、训练技巧及问题排查。通过具体代码示例和实用建议,帮助开发者高效完成从零到一的DETR模型部署,特别适合目标检测领域的实践应用。

weixin_42524100的博客 462

为你的maven项目加上测试覆盖率报告。

这里使用[url=http://docs.atlassian.com/maven-clover2-plugin/2.3.1/]maven clover plugin[/url], 在你的pom.xml中加上以下的代码。 [code="xml"] com.atlassian.maven.plugins maven-clove...

邓胤的家当 322

10.2 在新能源、储能及电网节点的应用实践

构网型变流器技术在电力系统中的应用进展 构网型变流器技术正从理论研究走向规模化工程应用,为新能源并网提供主动支撑能力。该技术在光伏电站采用"部分构网"混合架构,由构网单元实现黑启动和弱网稳定;在风电场利用叶轮动能提供惯量响应。储能系统是理想的构网载体,可提供快速调频和动态电压支撑。在电网节点,构网型STATCOM可增强弱电网电压稳定性,大容量变流器可替代传统调相机。当前面临标准滞后、宽频振荡风险等共性挑战,需在可靠性、经济性间取得平衡。系统级协调控制和精确阻抗建模是应用成功的关键。

技术工作者 1109

多模态特征融合方法总结

由于本人的研究是文本、语音和图像三者模态数据的融合,所以针对的是这三种模态的特征融合方法进行总结。 首先,多模态特征融合的方法大体分为三种

华辰烟雨的博客 9万+

Clover查看代码覆盖率

在eclipse中使用Clover 参考资料 http://blog.youkuaiyun.com/rubylearner/article/details/7835446 注意事项: 主要license的有效期。 执行某个执行类,或testng-XX,xml,会出现 coverage explorer等信息。 在maven中使用Clover 2.1 在pom.xml代码: com.atl

chenmo604的专栏 2066

金蝶K3系统物料主数据后台表对应字段一览

我们说到物料表,一般是指t_icitem,但正确的说t_icitem并不是一张有,而是一张视图,不过我们对于数据库物料表中的大部分操作,都是通过此视图来完成。比如经常通过此视图,来成批修改数量,单价精度,是否启用批次等一些字段,有的时候,对于账套已经启用,并且已经有业务发生的物料,有一些关键属性也需要通过修改物料表t_icitem来进行。 当然修改的时候,需要考虑一些前提条件的。 比如说我有一个客户新建的账套,在月底结账时发现,要改一种成本核算方法,启用时用的是加权平法,现在想改成移动平均法,这样的情况,

hzfw2008的博客 1万+

Maven与Clover集成总结,license问题

在maven项目的pom.xml中加入Clover的plugin,如下: maven-clover-plugin com.atlassian.maven.plugins ${clover.licenseLocation}

祝坤荣的随想 1854

Git救援:如何从误操作中恢复未提交的更改

摘要:本文探讨了误操作git reset --hard导致未提交更改丢失后的恢复方法。首先分析git reflog的局限性,随后介绍利用IDE本地历史记录(如IntelliJ IDEA和VS Code)进行文件恢复的具体步骤。最后建议使用文件系统恢复工具(如Linux的extundelete或Windows的Recuva)作为备选方案。文章强调定期提交的重要性,同时提供了意外发生时可行的恢复策略,帮助开发者尽可能挽回丢失的工作内容。(149字)

2501_90323865的博客 129

基于SiamFC的红外目标跟踪

初始化阶段:在第一帧中,通过用户标注获得目标框,从目标区域中提取一个固定大小的模板(称为 exemplar)。搜索阶段:在后续帧中,在以当前目标中心为中心的较大区域(称为 instance)内进行搜索,将模板与搜索区域通过卷积操作得到响应图。位置更新:在响应图中找到峰值位置,并转换到原图坐标,用以更新目标中心。部分实现中还会考虑多尺度搜索和目标尺寸更新。import cv2# 定义 SiamFC 简易网络(示例)# 特征提取部分,注意红外图像通常为单通道,使用较少的卷积核数提高实时性。

weixin_43745234的博客 774

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

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

纸上得来终觉浅,绝知此事要躬行 7116

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【转载】hudson clover 使用

【来源】 http://rdc.taobao.com/blog/qa/?author=83&paged=2 hudson是一个好东东,在上面如何集成clover呢?最近研究了一下,下面分享一下这个过程。一、Clover插件安装:Manage Hudson –》Manage Plugins 找到clover安装(安装按纽在页面右下方,有的浏览器要拖很长才能看到),重启glassfish...

weixin_33785972的博客 88

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

maven clover 注册

<br />Specifying your license location in the pom.xml file<br />You can set this property to point to your clover license in the pom.xml file. In the example below, replace'/path/to/clover.license' with the path to your Clover license file:...<plugin><grou

hlf48641715的专栏 926

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java clover_clover记录数据库的生成方法

destdir="${clover.tmp.dir}">destdir="${classes.dir}"encoding="UTF-8"includeantruntime="true"failonerror="true"verbose="false"compiler="modern"fork="true"target="1.6"nowarn="true">这个地方,把clover.co...

weixin_39654751的博客 159

java clover_java – clover:它是如何工作的?

How is this done? Are the tests actually executed with some fancy execution context (similar to JRebel e.g.) for this? Or is it more like static analysis?在Clover的代码检测期间,它检测哪些方法是测试方法(默认情况下它识别JUnit3 / 4...

weixin_29197699的博客 281

clover简介及使用说明

  Clover使用简介 什么是Clover Clover是一款收费的代码覆盖率查询插件,它可以配合JUnit等测试插件,对代码测试结果进行分析说明。 官方首页:http://www.atlassian.com/software/clover 下载安装(MyEclipse6.5为例) Step1 在官方网站,根据IDE选择合适的安装包 下载后的安装包名称为com.cenqua.c...

winnie825的专栏 2294

Maven-clover2-plugin

http://docs.atlassian.com/maven-clover2-plugin/2.5.1/ https://confluence.atlassian.com/display/CLOVER/Clover-for-Maven+2+and+3+Installation+Guide Clover: 当测试代码执行时,代码覆盖系统会收集哪些语句已被执行的信息,然后将这些信息作为基本

我是一只小小鸟的博客 2965
上一篇: Linux 环境下搭建 Jenkins(Hudson)平台
下一篇: Clover 的使用方法解读
心 远
博客等级 码龄17年 44粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值