美文网首页
Jacoco基本使用(一)

Jacoco基本使用(一)

作者: 初见4603 | 来源:发表于2020-05-23 13:12 被阅读0次

使用说明

  • jacoco官网

对于Jacoco的使用,详细使用和介绍可以前往Jacoco官网进行详细的了解。官网中,对Jacoco的使用方法和插件的下载都有明确的说明和指向。官网中,主要介绍了如何在Eclipse中集成并使用Jacoco插件。
如果想要在官网中快速使用文档介绍可以点击Jacoco用户文档前往

  • 使用说明

1.结合 Tomcat
该使用方式,需要我们手动创建 build.xml 文件,并在文件中配置对应的服务器地址,服务监控地址,.exec 文件的生成路径,目标覆盖文件地址,源代码地址等。使用起来,相对比较复杂。
2.采用 Java Agent
因为 Jacoco 采用的是Java编写的插件,所以我们也可以通过在运行对应Java文件的是时候配置对应的 JVM参数 信息。
例如: -javaagent:[yourpath/]jacocoagent.jar=[option1]=[value1],[option2]=[value2]
3.Maven 配置
对于 Maven 配置,对于我们新手使用起来更加简单,方便,快捷,易于上手。(
Ant配置的方式参考 Ant使用Jacoco*)
4.Gradle配置
跟Maven类似,方便上手。因为本人对Gradle的使用较为熟练,所以本篇介绍一下自己在 Gradle 中使用 Jacoco 的经历

启用Jacoco(Gradle的方式)

Jacoco 是一个免费的 Java 单元测试覆盖率分析工具,在 Gradle 中添加插件,在编译的同时进行单元测试覆盖率分析

1.在 Gradle 中添加对 Jacoco 的依赖
  • 添加Jacoco的plugin
  • 添加使用设定
    从如下可以读出,jacoco的相关结果的报告是以html方式生成。当然根据需要还可以加上check.dependsOn jacocoTestReport的依赖,这样使用gradle build可以直接生成结果,较为方便。
plugins {
    id 'org.springframework.boot' version '1.5.12.RELEASE'
    id 'java'
    id 'jacoco'
}

group = 'com.example.ftt'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.5.12.RELEASE'
    compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'
    compile group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '1.3.2'
    compile group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.4.3'
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '1.5.12.RELEASE'
}

jacocoTestReport {
    reports {
        xml.enabled false
        html.enabled true
    }
}
check.dependsOn jacocoTestReport
2.执行命令
  • 有多种方式可以生成jacoco的reports,这里由于依赖已经创建,可以直接使用gradle build即可,当然也可以按照顺序执行jacocoTestReport。
3.查看结果

上述gradle build执行的时候实际是执行了jacoco插件的jacocoTestReport任务,其生成的方式应该是html的,位置位于build/reports/jacoco。
Jacoco的报告目录中也有一个index.html,通过它也可以一目了然地看到覆盖率的可视化的结果。

  • 应用的整体覆盖率状况summary


    image.png
  • package单位的覆盖率状况summary


    image.png
  • class单位的覆盖率状况summary


    image.png
  • 代码行粒度的覆盖率确认详细


    image.png

相关文章

网友评论

      本文标题:Jacoco基本使用(一)

      本文链接:https://www.haomeiwen.com/subject/pavkahtx.html