前段时间做的一个升级包到线上后出了个bug,原因是因为做测试的时候没有完全覆盖到。痛定思痛,决定使用Clover来提高代码的单元测试覆盖率。

开发的IDE是使用的Eclipse3.4,这里主要说一下在Eclipse中如何使用Clover,也是刚使用不久,写在这里和大家探讨一下。

从http://www.cenqua.com/download.jspa下载Clover,还需要申请一个license,否则无法使用。我下载了30天试用版。

下载后把Clover压缩包里有两个文件夹,features和plugins。我试着用links的方式安装Clover,不幸的失败了,不知道是不是我哪里配错了,只好直接把两个文件夹解压到ECLIPSE_HOME覆盖。

打开Eclipse,从Window->Show view->other,可以看到Clover的信息:

还需要导入clover.license。从Preferences->Clover->License进入:

使用load,导入clover.license。到这里,Clover已经安装完成,开始进入我们的单元测试。

我新建了一个project,结构如下:

Sample.java和SampleTest.java内容分别是:

packagecom.lyoe.sample;

publicclassSample{

publicInteger add(Integer a, Integer b){

if(a==null||b==null){

returnnull;

        }        Integer sum=newInteger(a.intValue()+b.intValue());

returnsum;

    }}

packagecom.lyoe.sample;

importcom.lyoe.sample.Sample;

importjunit.framework.TestCase;

publicclassSampleTestextendsTestCase{

protectedvoidsetUp()throwsException{

super.setUp();

    }

publicvoidtestAdd(){

        Sample sample=newSample();

        Integer a=newInteger(1);

        Integer b=newInteger(2);

        Integer c=sample.add(a, b);

        assertNotNull(c);

    }

protectedvoidtearDown()throwsException{

super.tearDown();

    }

}

右击JunitInAction工程,选择Properties->Clover。上面有一个Enable Clover in this project,勾上,apply->OK.

从Window->Show view->other进入,找到Coverage Explorer,打开,看到Clover选项的相关信息:

点击红框内的按钮,会弹出重新构建工程的提示,点击"是"即可。

在Coverage Explorer界面下,我们会看到:

右击SampleTest.java,选择Run as->JUnit Test,结果如下:

可以看到Sample.java的覆盖率为71.4%.

Clover还可以生成三种测试报告:PDF/HTML/XML。按钮可以在Coverage Explorer那排的选项按钮里找到(run new report)。html的测试报告见附件。

到这里,已经算是能在Eclipse中使用Clover的基本功能了,以后慢慢探索,欢迎大家扔砖~

Java覆盖率模拟protected,单元测试覆盖率-使用Clover相关推荐

  1. Java变更行单元测试覆盖率

    概述 Java应用代码的单元测试覆盖率工具Jacoco已经非常成熟及完善了.对于历史的Java项目很多都是没有单元测试的,往往在新的在迭代的过程中都希望能有变更代码行的单元测试覆盖率,从而提高迭代质量 ...

  2. java 代码覆盖率_java单元测试覆盖率统计

    很多时候,开发写了单元测试,但是我们并不知道当前的单元测试覆盖率是怎么样的,所以我们需要有技术手段来分析我们的单元测试覆盖率情况. 那么,jacoco来了... jacoco介绍: jacoco 是一 ...

  3. Springboot 单元测试结合Jacoco收集单元测试覆盖率

    目录 单元测试 Junit 简单例子 mockito Mock 的限制 Powermock maven 引入 注解使用 处理私有方法 mock构造函数 结合Springboot一起使用 各种runne ...

  4. testng查看覆盖率_使用Cobertura统计单元测试覆盖率

    学习Cobertura的起因是前天晚上媳妇儿(终于有出场机会了)突然问我有没有用过一些可以统计单元测试覆盖率的工具,答曰:木有...感觉比较丢人,于是昨天晚上研究了一把,今天顺便share一下. 因为 ...

  5. WSN连通性模拟、WSN覆盖率模拟、WSN分簇模拟、WSN能量损耗模拟

    资源下载地址:https://download.csdn.net/download/sheziqiong/86778465 资源下载地址:https://download.csdn.net/downl ...

  6. ios 单元测试覆盖率怎么查看_iOS 覆盖率检测原理与增量代码测试覆盖率工具实现...

    背景 对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久.如果在开发.测试阶段能够提前暴露问题,就有助于避免线上事故的发生.代码覆盖率检测正是帮助开发.测试同学提前发现 ...

  7. SpringBoot-Jacoco单元测试覆盖率报告

    SpringBoot-Jacoco单元测试覆盖率报告 添加Maven 添加测试依赖 <dependencies> <!--spring-boot测试--><depende ...

  8. sonar集成jacoco展示单元测试覆盖率

    (一)sonar-scanner结合jacoco 这里还是要用到maven生成jacoco的统计结果,所以推荐直接使用maven的方式检查项目 1.在要检测的项目的pom文件中加入如下配置: < ...

  9. IDFA 单元测试以及单元测试覆盖率步骤

    一.单元测试类 1.新建java类 随意选择java类文件,新建一个Java类CountVowel,用来统计字符串中元音的个数,代码如下: public class CountVowels {priv ...

  10. Jenkins 进阶篇 - 单元测试覆盖率

    我们做项目开发,肯定免不了要写单元测试,不管是 Java 项目.Python 项目.PHP 项目,甚至是 nodejs 项目,都应该要写单元测试,本小节就来介绍单元测试的覆盖率报告输出和展示,在后面的 ...

最新文章

  1. 为什么你问问题,别人都已读不回?
  2. javascript变量提前声明
  3. Python二级笔记(5)
  4. iOS打开沙盒html,iOS WKWebView加载本地/沙盒HTML及css、images
  5. php输入数据提交排序,排序php数据var
  6. java函数的参数传递
  7. python去除\ufeff、\xa0、\u3000
  8. 随手笔记 -- 时间搜索框,默认搜索4天前至今天
  9. 大型机、小型机、x86架构以及ARM架构服务器的区别大型机、小型机、x86架构以及ARM架构服务器的区别
  10. windows下使用curl命令
  11. 笔记本无线网卡驱动异常如何解决?
  12. C语言 商业贷款计算器 等额本金 等额本息
  13. pytorch中torch.isnan()和torch.isfinite()
  14. 考研计算机学硕370分,考研370分是什么水平??
  15. 联想服务器ghost系统进不去系统,联想电脑台式机开机后一直在这个界面进不了系统是为什么。...
  16. 如何通过检测微芯片操作来对抗硬件木马
  17. 计算机三级网络技术最全知识点总结一
  18. 【IoT】开放 IoT 平台:电信 NB-IoT 物联网开放平台与移动 oneNET 平台对比分析
  19. 【转】扫描二维码登入安全吗?
  20. AES加密算法 Java与Python跨平台实现

热门文章

  1. 20200528每日一句
  2. 《图解算法》学习笔记之广度优先搜索(breadth-first search, BFS)
  3. 190126每日一句
  4. 190122每日一句
  5. 181108每日一句
  6. unity 调c++的dll
  7. Atitit 突发事件应急处置相关制度和措施 1. 第一章 总则 1 2. 第二章 突发事件分类 2 2.1. (一)治理类 2 2.2. (二)运营类 2 2.3. (三)环境类 3 2.4.
  8. Atiitt 经济学体系树与知识点概念大总结attilax
  9. Atitit.软件仪表盘(7)--温度监测子系统--电脑重要部件温度与监控and警报
  10. paip.提升性能---string split