JaCoCo 代码覆盖率工具(基于Maven+TestNG)

JaCoco是一个代码覆盖率库。

官方网站:http://www.jacoco.org/

安装:

以 Maven(http://www.testclass.net/maven/) 安装为例:

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
        </plugin>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.9</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

使用:

Maven项目目录如下:

image

创建被测试类

Count.java

public class Count {

    /**
     * 计算并返回两个参数的和
     */
    public int add(int x ,int y){
        return x + y;
    }

    /**
     * 计算并返回两个参数的和
     */
    public int sub(int x ,int y){
        return x - y;
    }

}

代码很简单,这里不做过多解释。

接下来创建测试类CountTest.java。

import org.testng.annotations.Test;

import static org.testng.AssertJUnit.assertEquals;


public class CountTest {

    @Test
    public void testAdd() {
        Count count = new Count();
        int result = count.add(2,2);
        assertEquals(result, 4);
    }

}

通过TestNG单元测试框架来运行测试用例,注意这里只编写了针对Count类的add()方法进行测试。

运行:

切换到jacocoTest项目根目录下,执行mvn install命令。

image

查看:

切换到项目下的“\target\site\jacoco\”目录,打开 index.html文件。

image
image

通过JaCoCo工具分析可以清楚地看哪些代码被执行了,而哪些未被执行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,200评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,167评论 25 709
  • 原来我有码农基因,只是我从未相信和正视过这一点。 初中时我的数理化都非常好,到了高中立体几何和解析几何成了我的致命...
    正宗毛利大五郎阅读 282评论 0 2
  • 喵小戏阅读 290评论 0 0
  • 鱼儿不明白,如果条纹真的爱上了斑点,飞鸟真的爱上鱼而鱼儿真的爱上水,那又该如何呢? 她吐着泡泡对水说:“我爱你!”...
    星哒阅读 320评论 0 1