展会信息港展会大全

Eclipse 安装Clover插件进行统计代码测试覆盖率
来源:互联网   发布日期:2016-01-14 14:17:25   浏览:16702次  

导读:Clover是一款量度单元测试代码覆盖率(Code Coverage)的软件,用于检测Java单元测试是否完整覆盖代码中所有可能的路径。 Clover主要有以下几个优点:快速、准确地...

Clover是一款量度单元测试代码覆盖率(Code Coverage)的软件,用于检测Java单元测试是否完整覆盖代码中所有可能的路径。

Clover主要有以下几个优点:

快速、准确地检测测试是否覆盖代码中的所有路径

可以集成在多个IDE中,如Eclipse、NetBeans、jBuilder等

统计和分析结果可以导出为多种格式,如PDF、HTML

下面介绍的是在Eclipse中安装Clover插件进行统计代码测试覆盖率的方法。

一、安装Clover插件

打开Eclipse顶部菜单中的Help->Install New Software...,在弹出的窗口中点击右边的Add按钮,添加Clover插件的网络下载地址。

点击OK后,系统会在网上查找到Clover插件,等结果出来后我们勾选上Clover 3.1.12之后点击Next进行正常的安装过程,安装过程中需要下载Clover插件,可能会比较慢。

二、输入License Key

Clover不是免费的软件,我们有30天的免费试用期。我们可以到网站http://my.atlassian.com/上注册并获取License Key。

打开Preferences->Clover->License

点击Paste按钮把License Key粘贴进去,然后OK

三、在Java项目中启用Clover

假设我们已经有了一个名为CloverTest的项目,右键项目名,然后找到Clover选项,Enable。

然后在界面上会有四个Clover的选项卡出来。

Coverage Explorer

Test Run Explorer

Test Contribtions

Clover Dashboard

四、编写jUnit测试代码

Calculator.java

package com.raysmond;

public class Calculator {

public int add(int a, int b) {

return a + b;

}

public int subtract(int a, int b) {

return a - b;

}

public int multiply(int a, int b) {

return a * b;

}

public int divide(int a, int b) {

return a / b;

}

public void unCoveredMethod(){

// do nothing

System.out.println(" uncovered method...");

}

}

TestCalculator.java

package com.raysmond.test;

import static org.junit.Assert.*;

import org.junit.Test;

import com.raysmond.Calculator;

public class TestCalculator {

Calculator calc = new Calculator();

@Test

public void testAdd() {

assertEquals(10,calc.add(4, 6));

}

@Test

public void testSubtract() {

assertEquals(-2,calc.subtract(4, 6));

}

@Test

public void testMultiply() {

assertEquals(24,calc.multiply(4, 6));

}

@Test

public void testDivide() {

// divide方法没有错,其实是测试代码有问题,呵呵

assertEquals(9,calc.divide(40, 5));

}

}

在界面上我们可以看到一些方法的背景是红色的,这表示这些代码没有在Clover的测试中覆盖到,这是因为我们目前还没有运行过测试代码。

五、运行测试,查看Clover统计和分析结果

在运行结果中我们可以看到jUnit的测试统计以及Clover的详细统计

在编辑界面上,测试覆盖到并且通过测试的代码会用绿色来标识,而没有测试到的代码已经测试没有通过的代码用红色来标识。没有意义的代码,当然Clover会聪明地忽略掉。

赞助本站

人工智能实验室

相关热词: jsp 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港