前段时间做的一个升级包到线上后出了个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内容分别是:
package com.lyoe.sample;
public class Sample {
public Integer add(Integer a, Integer b) {
if (a == null || b == null) {
return null;
}
Integer sum = new Integer(a.intValue() + b.intValue());
return sum;
}
}
package com.lyoe.sample;
import com.lyoe.sample.Sample;
import junit.framework.TestCase;
public class SampleTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
}
public void testAdd() {
Sample sample = new Sample();
Integer a = new Integer(1);
Integer b = new Integer(2);
Integer c = sample.add(a, b);
assertNotNull(c);
}
protected void tearDown() throws Exception {
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的基本功能了,以后慢慢探索,欢迎大家扔砖~
分享到:
相关推荐
今天,我们将学习使用 Clover 框架来分析 Java 代码的单元测试覆盖率。 什么是 Clover Clover 是一个流行的代码覆盖率分析工具,由 Cenqua 公司开发。它可以与 JUnit 集成,提供详细的单元测试覆盖率报告。Clover ...
Java代码覆盖率测试是软件开发...总的来说,Clover 3.0.365和JUnit 4.1的结合使用,可以帮助开发者更有效地进行单元测试,确保代码的质量,并提供了一种强大的手段来监控和改进代码覆盖率,从而提升整体的软件质量。
- **团队协作**:分享Clover报告,促进团队成员间的沟通,共同提高测试覆盖率。 通过使用Clover测试工具,开发者可以更有效地进行代码测试,提升代码质量和项目的可维护性。其Eclipse插件版则为开发人员提供了便捷...
Clover-ant-2.4.2是这个工具的一个特定版本,适用于那些希望对代码进行深度测试覆盖率分析的开发者。 Ant是一个开源的Java构建工具,它使用XML描述构建过程,包括编译、测试、打包等任务。Clover Ant扩展了Ant的...
在软件开发过程中,测试覆盖率是一个重要的指标,它衡量了代码被自动化测试所覆盖的程度。Clover通过深入集成到开发环境中,提供即时的反馈,使开发者能够在编写代码的同时了解其测试情况。 首先,Clover提供了全面...
转载文章“单元测试覆盖率插件clover的破解及使用”的附件
Clover 是一个代码覆盖率工具,用于测量测试覆盖了多少代码。在接口测试中,Clover 可以帮助团队了解测试用例的完整性和有效性。 ##### 5.8 Mock Mock 是一种测试技术,用于模拟接口或类的行为,以帮助隔离被测对象...
1. **实时测试覆盖率**:Clover能够与集成开发环境(IDE)如Eclipse紧密集成,提供即时的代码覆盖率反馈。在编写和运行单元测试时,开发人员可以直观地看到哪些代码行已经被执行,哪些尚未触达。这种即时反馈机制有...
本文将详细介绍如何使用PHPUnit进行单元测试并生成代码覆盖率报告。 首先,要使用PHPUnit,需要确保你的开发环境中已经安装了Composer,它是PHP的一个依赖管理工具。通过Composer安装PHPUnit是常用的方法。可以通过...
另一方面,PHPUnit 是PHP的单元测试框架,它内置了对代码覆盖率的支持。通过在测试运行时开启覆盖率收集,开发者可以直接在PHPUnit的输出中看到覆盖率数据。此外,PHPUnit还可以与不同的后处理工具(如 Clover、...
4. **集成测试**:Clover可以与JUnit、TestNG等测试框架配合,自动计算测试覆盖率。只需确保你的测试任务(如`test`)在Clover任务之后运行,这样测试过程中产生的代码覆盖率数据会被收集。 5. **查看报告**:生成...
5. **测试覆盖率**:使用 JUnit 运行测试后,可以结合其他工具(如 JaCoCo 或 Clover)评估测试覆盖率,以确保大部分代码都经过了测试。 6. **Mocking 和 Stubbing**:如果 Counter 类依赖于其他组件,如日志服务或...
9. **测试覆盖率**:虽然 JUnit 不直接提供代码覆盖率工具,但可以与其他工具(如 JaCoCo 或 Clover)集成,以评估测试覆盖了多少代码行。 10. **持续集成**:JUnit 结合 Jenkins、Travis CI 等持续集成工具,可以...
测试覆盖度量工具,如Cobertura、Emma和Clover,常用于跟踪单元测试对代码的执行情况,提供行覆盖和分支覆盖等指标。行覆盖计算被执行的代码行数,而分支覆盖则关注逻辑判断的执行情况。然而,高覆盖率并不一定意味...
Cobertura 是一个用于 Java 代码覆盖率测试的工具,它能够帮助开发者测量和跟踪他们的源代码有多少被单元测试覆盖。 在描述 "cobertura-1.9.4.1-bin.zip" 中,没有额外的具体信息,但我们可以推断这可能是一个 ZIP ...