首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用JaCoCo和spring-boot-maven-plugin生成代码覆盖率

JaCoCo是一个开源的Java代码覆盖率工具,可以帮助开发人员评估测试套件的覆盖率情况。它可以生成详细的报告,显示哪些代码被测试覆盖,哪些代码没有被覆盖。

spring-boot-maven-plugin是一个用于构建和打包Spring Boot应用程序的Maven插件。它提供了许多功能,包括生成可执行的JAR文件、自动化的依赖管理和构建配置。

使用JaCoCo和spring-boot-maven-plugin可以很方便地生成代码覆盖率报告。以下是一些步骤:

  1. 在项目的pom.xml文件中添加JaCoCo插件的配置:
代码语言:txt
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.7</version>
            <executions>
                <execution>
                    <id>default-prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>default-report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
                <execution>
                    <id>default-check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <rules>
                            <rule>
                                <element>BUNDLE</element>
                                <limits>
                                    <limit>
                                        <counter>LINE</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.8</minimum>
                                    </limit>
                                </limits>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  1. 运行以下命令生成代码覆盖率报告:
代码语言:txt
复制
mvn clean package
  1. 在生成的target目录中,可以找到JaCoCo生成的覆盖率报告。打开index.html文件可以查看详细的覆盖率信息,包括行覆盖率、分支覆盖率等。

代码覆盖率报告可以帮助开发人员评估测试套件的质量和覆盖范围,从而提高代码的可靠性和稳定性。

腾讯云提供了一系列与云计算相关的产品和服务,包括云服务器、云数据库、云存储等。您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 JaCoCo 生成测试覆盖率报告

0、为什么要生成测试覆盖率报告 在我们实际的工作中,当完成程序的开发后,需要提交给测试人员进行测试,经过测试人员测试后,代码才能上线到生产环境。...那么这时就需要引入代码覆盖率这个东东了,要统计 C++ 的代码覆盖率有 GCover,统计 Java 的代码覆盖率则有 JaCoCo 可以实现。...://www.jacoco.org/jacoco/trunk/doc/counters.html​​ 使用 JaCoCo 生成覆盖率时,可以使用 on-the-fly 方式,对程序的原代码是无侵入式的,...只是在启动 jar 包时,增加一个参数就行,可确保测试人员测试的代码上线到生产环境的代码一致。...的主机监控端口 执行后,将在目录下生成指令中指定的 exec 文件 jacoco.exec 5、生成覆盖率报告 想要生成报告,需要同时指定源文件及编译后的字节码文件。

62750

使用JaCoCo Maven插件创建代码覆盖率报告

这篇博客文章描述了我们如何使用JaCoCo Maven插件为单元集成测试创建代码覆盖率报告。 我们的构建要求如下: 运行测试时,我们的构建必须为单元测试集成测试创建代码覆盖率报告。...配置JaCoCo Maven插件 我们使用JaCoCo Maven插件有两个目的: 它使我们可以访问JaCoCo运行时代理,该代理记录了执行覆盖率数据。...配置集成测试的代码覆盖率报告 我们可以通过在插件声明中添加两个执行来为集成测试配置代码覆盖率报告。这些执行方式如下所述: 第一次执行将创建一个指向JaCoCo运行时代理的属性。...让我们看看如何为单元测试集成测试创建代码覆盖率报告。 此博客文章的示例应用程序具有三个构建配置文件,下面对此进行了描述: 在开发配置文件开发过程中使用,这是我们构建的默认配置文件。...命令mvn clean verify -P all-tests运行单元测试集成测试,并为单元测试集成测试创建代码覆盖率报告。

1.7K20

JaCoCo实例解析之代码覆盖率

代码覆盖率 在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。...2、Branches Jacoco对所有的ifswitch指令计算了分支覆盖率。这项指标会统计所有的分支数量,并同时支出哪些分支被执行,哪些分支没有被执行。这项指标也在任何情况都有效。...因为JaCoco直接对字节码进行操作,所以有些方法没有在源码显示(比如某些构造方法由编译器自动生成的方法)也会被计入在内。 6、Classes 每个类中只要有一个方法被执行,这个类就被认定为被执行。...report文件在site/jacoco下,点开index.xml,即可查看生成报告。...宝石的颜色代表分支覆盖率,鼠标移动到黄色宝石上,将会提示如“1 of 2 branches missed”,对于“name==null”,有truefalse两种分支,这说明程序只执行了一种分支。

1.9K40

教你使用 Jacoco 统计服务端代码覆盖率

前言 前面有一篇 文章 使用 Python + Coverage 来统计测试用例的代码覆盖率 Jacoco 针对 Java 语言的一款开源的覆盖率工具,可以嵌入到 Maven、Gradle 中,提供多种尺度的覆盖率计数器...,比如:类覆盖、行覆盖、分支覆盖等 本篇将聊聊服务端代码覆盖率统计,以 Spring Boot 项目为例,使用 Jacoco + junit 来统计服务端的代码覆盖率 2....接着,配置 Jacoco 插件及相关的 goal,使用 includes excludes 两个关键字设定包含或排除的类路径 比如:这里只统计 com.xingag.api.service 下面的类...:report 命令生成代码覆盖率报告 代码覆盖率报告目录在:....最后 上面只是通过一个简单的例子展示了 Jacoco 统计单元测试代码覆盖率的过程 实际项目中,代码覆盖率只能为单元测试提供一个参考,考虑到开发效率,不能一味地追求高覆盖率;事实上,高覆盖率不一定能保证没有缺陷

3K10

Android app 功能代码覆盖率--Jacoco(一)

Jacoco覆盖率主要是进行功能测试来统计下所覆盖率的类,方法等,是一种辅助评估项目质量,风险及用例设计是否完善的方法。...切记,Jacoco覆盖率并不是指单元测试覆盖率; 就不说Jacoco的原理了,我们就讲如何在android app配置使用jacoco~ 步骤: 首先得有项目APP的源码; 用android...studio 打开源码,然后对下载下来的jacocohelperjacoco.gradle导入到项目中,jacocohelper导入项目根目录,而jacoco.gradle导入到app/下 ?...打包完安装到手机里面,然后进行操作,操作到一定程度以后,可以直接按下声音-键,弹出提示create ec,会在sdcard生成一个以时间命令的.ec文件 ?...以上,是关于对于Jacoco 对Android app覆盖率的在代码的配置,下一章节会讲关于报告的生成~

2.4K40

JAVA代码覆盖率工具JaCoCo-实践篇

上周 JAVA代码覆盖率工具JaCoCo-原理篇 简单介绍了JaCoCo生成覆盖率的基本原理,这周的实践篇的主要内容就是将原理应用到实践中,本篇内容全部都是具体的项目使用实战经验,这里分享给大家,共勉...~ 一、覆盖率项目中使用介绍 本节开始详细介绍下项目中的JaCoCo实战经验。...1.5.2 生成覆盖率的apk工具jacoco-cov-sdk.jar包 ?...三、差异覆盖率全量覆盖率 测试完后,根据覆盖率结果衡量测试覆盖程度,主要分为两种: (1) 差异覆盖率:改动点的代码执行覆盖率情况 (2) 全量覆盖率:本次测试代码执行全部覆盖率情况 使用哪种覆盖率是由测试阶段的内容决定...如果是新增功能,使用全量覆盖率比较理想。 3.1 差异覆盖率 差异覆盖率主要是根据开发代码变更的diff差异,得出改动代码的范围,然后根据这个范围有针对性的只生成这部分改动的代码覆盖率结果。

7.3K92

Android app 功能代码覆盖率--Jacoco(三)

前面两篇都是讲了jacoco配合Andorid app 代码覆盖的配置以及单人测试生成覆盖率测试报告,那遇到多人测试一个版本,要怎么合并,来评估这个版本的测试范围跟测试质量,这才比较实用;这个就是今天要说的内容...~其实也很简单,就是下载不同的jacoco 覆盖率配置文件,该文件已被修改过,可以合并多份.ec文件并对比生成一份报告; 操作步骤: 先下载jacoco覆盖率配置文件,地址如下:...链接:https://pan.baidu.com/s/1TufJ8Vt6mGWsjLQyFFtm8Q 提取码:v7uu 请先看Android app 功能代码覆盖率--Jacoco(一)配置,然后进行文件配置...执行报告生成,执行完毕以后,可在app/build/reports/jacoco/jacocoTestReport/html/目录下查看生成覆盖率测试报告,整体操作如图: ?...jacoco批处理程序进行报告生成,也可以根据Android app 功能代码覆盖率--Jacoco(二)配置的批处理命令进行生成; 以上,就是关于Android App 配合jacoco 生成覆盖率报告使用说明

1.3K20

通过单元测试 JaCoCo 提高 Java 代码覆盖率质量

但同时,我们不能为了稍微快一点地交付代码质量而牺牲代码质量。编写测试是保证代码质量,同时保持快速发布计划的主要工具之一。任何其他技能一样,测试写作必须通过实践经验来检验。...在本文中,我们将使用一个示例程序来探讨代码覆盖率,以及在循环复杂计算当中如何确保代码正确测试。我们将学习如何使用 JaCoCo 快速获取有关代码覆盖率。...好了到此为止,我们的环境Ok了,接下来运行mvn test jacoco:report,最终在target目录生成如下内容 ?...您可以使用此列向下钻取代码,以准确查看涵盖的内容未涵盖的内容。我们将在一点一点中介绍这一点,但首先我们将查看其他列。...完成之后,代码覆盖率并没有发生变化,但本质已经不一样了,因为我们现在能确信我们CalculatorCalcController是真实有效的了。 ?

2.4K10

利用JaCoCo统计接口测试中代码覆盖率

这个回答没有错误,但是片面,我们不能只考虑需求的覆盖率,还有业务的覆盖率,场景的覆盖率,接口的覆盖率代码覆盖率等,本文介绍接口测试的代码覆盖率。那么我们来看看如何是实现的。...1.2 下载JaCoCo。 下载地址:https://www.jacoco.org/jacoco/ 下载 下载完毕后,解压即可。...启动完成后,就可以开始进行测试了, 我使用的swgger2,进行了简单的接口测试,后获取覆盖率。...在build.xml目录,使用ant获取jacoco.exe 然后用 ant report产生测试报告 打开测试报告, ? 这样,我们就获取到了接口测试的全量代码覆盖率。...我们可以打开获取每个类,每个函数的覆盖率。 其实在真正的覆盖率,我们还需要考虑 增量代码覆盖率。这里简单的对全量代码覆盖率做介绍。抛砖引玉,大家可以继续探索。

1.2K20

基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。..."有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当代码 push 到代码仓库后,用 JaCoCo 进行单元测试代码覆盖率统计,并将相应数据推送到 SonarQube...单元测试覆盖率统计就是统计本地服务的代码覆盖率代码运行的服务在一台机器上,笔者这里通过使用 JaCoCo Maven 插件完成的。...解析 JaCoCo 产生的 jacoco.exec 文件,然后生成覆盖率报告(HTML 格式)笔者这里使用了 Jenkins Jacoco Plugin。...同时笔者的 JaCoCo 实践之路并未结束,可能在使用的过程中会有一些问题需要解决, 后续也将考虑使用 Jenkins API 为需要统计功能测试代码覆盖率的 Java 应用实例自动生成一个对应的 Jenkins

3.8K40

Java代码覆盖率利器JaCoCo基本概念详解

提供了Ant任务,Maven插件EclEmma Eclipse插件作为参考使用方案。同样,许多其他工具供应商开源项目也将JaCoCo集成到了他们的工具中。...1.3 覆盖率计数器 - Coverage Counters JaCoCo使用一组不同的计数器来计算覆盖率指标。...必须使用调试信息编译类文件,以计算行级覆盖率并提供源高亮显示。并非所有Java语言构造都可以直接编译为相应的字节码。在这种情况下,Java编译器会创建所谓的合成代码,有时会导致意外的代码覆盖率结果。...JaCoCo根据覆盖的实际源代码行计算类源文件的代码覆盖率。 方法 每个非抽象方法都包含至少一条指令。当至少一个指令已被执行时,一种方法被视为已执行。...由于JaCoCo在字节码级别上工作,因此构造函数和静态初始化程序也被视为方法。这些方法中的某些方法在Java源代码中可能没有直接的对应关系,例如隐式生成的常量的默认构造函数或初始化器。

1.4K10
领券