sonar集成jacoco展示单元测试覆盖率

sonar集成jacoco接口功能测试覆盖率 前言: 网上大部分文章上传jacoco exec 到sonar的方法普遍使用到了“ sonar.jacoco.reportPaths ”这个参数路径,但按照新版的sonar(我的sonar版本7.9),这会报错,官网的说法“ Property ‘sonar.jacoco.reportPaths’ is no longer supported. Use JaCoCo’s xml report an... 阅读详情

(一)sonar-scanner结合jacoco

这里还是要用到maven生成jacoco的统计结果,所以推荐直接使用maven的方式检查项目

1.在要检测的项目的pom文件中加入如下配置:

 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <argLine>${surefireArgLine}</argLine>
                </configuration>
            </plugin>
               <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.9</version>
                <executions>
                    <execution>
                        <!-- 在maven的initialize阶段,将Jacoco的runtime agent作为VM的一个参数 传给被测程序,用于监控JVM中的调用。 -->
                        <id>default-prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>


                    <configuration>
                        <destFile>
                            ${project.build.directory}/coverage-reports/jacoco.exec
                        </destFile>
                        <propertyName>surefireArgLine</propertyName>
                    </configuration>


                </execution>


                <!-- 在程序的verify阶段,执行report测试的程序。 文件的输入为perpare-agent阶段中设置或者默认的jacoco.exec. 
                    参数 includes和excludes可用来选定report中过滤的类。 -->
                <execution>
                    <id>default-report</id>
                    <phase>test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>


                    <configuration>
                        <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
                        <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
                    </configuration>


                </execution>


            </executions>
        </plugin>

2. 然后执行:mvn install
jacoco的结果文件就在target目录下生成了

3.然后,在项目下新建sonar-project.properities文件,内容如下:
sonar.projectKey=your_project_name
sonar.projectName=your_project_name
sonar.projectVersion=1.0
sonar.sources=src/main
sonar.tests=src/test
sonar.java.binaries=target
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.core.codeCoveragePlugin=jacoco

指定exec二进制文件存放路径

sonar.jacoco.reportPaths=[your_path]/jacoco.exec

以下属性可选择性加,当然也可以不加

sonar.dynamicAnalysis=reuseReports
sonar.jacoco.reportMissing.force.zero=false

4.最后在项目根目录下执行sonar-scanner,就可以在sonar主页看到包含单元测试覆盖率的报告了

(二)使用maven直接在sonar中加入单元测试覆盖率
1.前两步跟上面是一样,最后检查代码的命令为:
mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.jacoco.reportPaths=[your_path]/jacoco.exec -Dsonar.dynamicAnalysis=reuseReports
2.不修改项目pom文件的方法:
先执行:mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
然后:mvn sonar:sonar

sonar覆盖率、代码覆盖率、分支覆盖率的计算方式 代码质量的覆盖率分为三种,覆盖率、代码覆盖率、分支覆盖率,那每一种的计算方式是怎么样的呢?举例:上面最有疑惑的是覆盖率,不知道怎么算出了来的,后面再说。 阅读详情

相关推荐

Sonarqube-8.9版本测试单元测试覆盖率

sonarqube单元测试覆盖率

鬼刺 2917

maven安装与配置_代码质量管理平台实战| SonarQube 安装、配置及 JaCoCo、Maven 集成...

代码质量管理平台 SonarQube 实战,进阶学习文末加群。一、SonarQube1.1 简介SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube。此外, SonarQube 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的...

weixin_39819152的博客 336

sonar 集成代码测试覆盖率插件jacoco

sonar 集成代码测试覆盖率插件jacoco sonar安装与配置sonar的安装非常简单,你只要下载sonar的压缩包,解压之后,切换到bin目录下,然后根据你的机器系统类型切换到指定的目录下去运行sonar就可以了,比如我的是在64位的centos中部署的,那我就切换到bin/linux-x86-64/这个目录下 然后在这个目录运行./sonar.sh start,就能启动sonar。 最重

zsz459520690的专栏 6982

单元测试覆盖率(Jenkins+sonarqube)

越来越懒得写总结了   好多都是几句话搞定orz... 搭建了Jenkins+sonar的环境(很久之前搭得了  靠回忆写吧)  Jenkins的搭建就不再赘述。 sonar负责检测代码质量与查看代码覆盖率。这个工具先搭建起来可以正常使用, 但页面上各个功能都是做什么的还没有研究。 sonar有sonarqube和sonarscanner(旧称sonar-runner

我有一只小傲娇 3万+

maven多模块项目jacoco生成单元测试覆盖率并输出到sonar

一般单一模块的工程,单元测试代码和被测试代码是在一起的,通过简单配置利用jaccoco即可输出测试结果到sonar中。 但是很多场景,单元测试代码可能和被测试代码不在同一个模块中,这时候,会导致没有测试代码的模块的测试覆盖率始终是0。虽然另一个模块的的测试代码最终导致这个模块的代码也被执行了。 jacoco自身有报告合并功能,如果不使用sonar,通过简单配置,也可以生成完整的测试覆盖率。 如果使...

sliang733的博客 5406

spring Boot项目集成jacoco 完成单元测试Coverage并上传到snarqube

近期因工作需要,需对代码覆盖率进行统计,所以这篇就当做对这段时间学习的总结。 JaCoCo Java Code Coverage Library Jacoco 是一个开源的覆盖率工具。Jacoco 可以嵌入到 Ant 、Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技术监控 Java 程序。很多第三方的工具提供了对 Jacoco 的集成,如...

weixin_41228362的博客 2683

jacoco和sonar集成

sonar集成jacoco展示单元测试覆盖率 (一)sonar-scanner结合jacoco 这里还是要用到maven生成jacoco的统计结果,所以推荐直接使用maven的方式检查项目 1.在要检测的项目的pom文件中加入如下配置: [root@rhc jacoco]# cat pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

码农崛起 4818

保姆级教程:用Python+NumPy手把手模拟光学散射与记忆效应(附代码)

本文提供了一份详细的Python+NumPy教程,手把手教你模拟光学散射与记忆效应。从基础光波建模到散射介质实现,再到菲涅尔衍射和光学记忆效应验证,逐步构建完整的仿真系统。通过附带的代码示例,读者可以快速掌握计算光学仿真的核心技术,为医学成像、物理仿真等领域的研究提供实用工具。

weixin_30172941的博客 325

易于使用的单位和集成代码

此示例说明如何使用Maven和Sonar生成单元测试和集成测试的覆盖率。 它使用非常简单的技术,只需10-15分钟即可在任何现有的Maven构建中运行。 它可用于单元,集成,ATDD或任何其他类型的测试套件。 覆盖率结果显示在Sonar中。 有什么事吗? 我的前一篇文章展示了如何使用JUnit类别轻松拆分单元和集成测试套件。 http://johndobie.blogspot.com...

最佳 Java 编程 275

保姆级教程:STK 11.0 从下载到安装成功(附Matlab互联配置与常见问题解决)

本文提供STK 11.0的完整安装指南,包括下载、安装步骤、Matlab互联配置及常见问题解决方案。详细介绍了系统要求核查、分步安装流程、关键文件替换和许可证配置,确保用户能够顺利完成STK 11.0的部署并实现与Matlab的无缝对接。

weixin_30698297的博客 345

[Vue][面试]谈谈你对MVC、MVP和MVVM的理解

谈谈你对MVC、MVP和MVVM的理解 答题思路:此题涉及知识点很多,很难说清楚,说透彻,因为MVC,MVP这些我们前端程序员自己甚至都没用过。但是恰恰反映了前端这些年从无到有, 从有到优的变迁过程,因此沿此思路回答将十分清除。 Web1.0时代 在web1.0时代,并没有前端的概念。开发一个web应用多数采用ASP.NET/Java/PHP编写,项目通常由多个aspx/jsp/php文件构成,每个文件中同时包含了HTML、CSS、JavaScript、C#/Java/PHP代码, 系统整体架构可能如下图所

你好,欢迎光临! 723

jacoco生成单元测试覆盖率报告

单元测试是日常编写代码中常用的,用于测试业务逻辑的一种方式,单元测试的覆盖率可以用来衡量我们的业务代码经过测试覆盖的比例。目前市场上开源的单元测试覆盖率的java插件,主要有Emma,Cobertura,Jacoco。工具JacocoEmmaCobertura原理使用 ASM 修改字节码修改 jar 文件,class 文件字节码文件基于 jcoverage,基于 asm 框架对 class 文件插桩覆盖粒度行,类,方法,指令,分支行,类,方法,基本块,指令,无分支覆盖。

我的博客 3745

项目过程记录:ADS-B信号接收并显示(Ubuntu20.04+ANTSDR E310V2)

最近被安排做一个ADS-B信号接收的项目,拿到软件无线电模块(ANTSDR E310V2)后安装环境和软件真的太折磨了。。在此记录以下我走过的弯路,大家可以参考一下。

weixin_43627638的博客 5018

关于sonar+gitLab+JaCoCo检查代码规范以及单元测试覆盖率的方案

打开/target/site/jacoco/jacoco-resources/index.html,我们可以看到覆盖率计数器,包含指令级(Instructions,C0 coverage),分支(Branches,C1 coverage)、圈复杂度(Cyclomatic Complexity)、行(Lines)、方法(Non-abstract Methods)、类(Classes),绿色代表覆盖,红色代表未覆盖。这项指标会统计所有的分支数量,并同时支出哪些分支被执行,哪些分支没有被执行。

sunjian885的博客 2769

手把手教你用CH582的USB0/1双接口玩转CherryUSB协议栈(附完整代码)

本文深入解析CH582双USB接口硬件架构,详细讲解如何通过CherryUSB协议栈实现双接口协同工作,包括中断处理设计、端点资源分配和复合设备描述符配置。提供HID+CDC复合设备实战案例,并分享高级调试技巧与性能优化方法,帮助开发者充分利用CH582的USB0/1双接口潜力。

weixin_42525637的博客 264

音视频开发基础(1):模拟视频技术简介

模拟视频技术是指用模拟技术对动态影像进行捕捉、记来、处理、存储、传输、复现的技术.模拟视频技术的发明、发展与模拟电视系统的发展密不可分.下面将通过模拟电视系统来介绍模拟视频技术中的基本概念. 首先,人的视觉系统的特征为电视等視稿系铳的发明、发展提供了理论依据.光线通过角膜、腫孔、晶状体的折射光线.透过玻璃体到达视网展.视网膜上分布着光感受器,光感受器在光线的剌激下...

琅嬛福地 1493

解决maven多模块工程集成jacoco、Sonar后单元测试覆盖率异常问题

最近再做单元测试覆盖率统计问题,最终决定方案是 jacoco+sonar进行数据集成。 但在实现过程中发现由于我们项目是一个maven的多模块工程,数据从jacoco.exec同步至sonar 后无法读取其它模块的覆盖率。 如上图,使我们的模块划分。单元测试执行完后会在xxxx-user-web 的 target文件夹中生成jacoco.exec,数据同步至sonar后,我发现sonar中的单元测试覆盖率是错误的,完全没有读取到xxxx-user-core 和 xxxx-user-api 这两个模块下代码

“实用”是软件压倒一切的要素 8173

Python爬虫实战:扒取专利数据库核心信息,我用这招搞定反爬+数据结构化(附完整可运行代码)

这套爬虫方案从「实际需求」出发,解决了专利数据库抓取的核心痛点:反爬突破、数据结构化、标题创作。核心价值不在于代码多复杂,而在于「实用」——我用这套代码半天就抓取了800+条Python爬虫相关专利,比手动效率提升了几十倍。最后想说:爬虫技术的核心是「解决问题」,而不是炫技。专利数据能帮我们快速了解行业技术趋势,尤其是程序员,从专利中扒出的核心逻辑,远比零散的博客文章更系统。希望这篇实战分享能帮到有需要的小伙伴,也欢迎在评论区交流专利爬虫的更多技巧!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2129

Jenkins Jacoco Sonar 代码覆盖率及质量扫描

Jenkins Jacoco Sonar 整合 使用Jenkins部署项目,Sonar进行代码质量扫描,Jacoco做单元测试覆盖率扫描 本文主要参考 https://www.jianshu.com/p/5e4a145af439 https://ningyu1.github.io/site/post/77-jenkins-sonarqube-jacoco-junit/ maven项目pom文件...

ChlatZed的博客 6199

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jenkins+sonar+jacoco实现代码扫描UT覆盖率统计

jenkins+sonar+jacoco代码扫描+UT覆盖率统计,搭建实录,避坑指南

初心不忘、始终方得 4842

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【单元测试】六、Jenkins Jacoco Sonar 代码覆盖率及质量扫描

Jenkins集成配置Jacoco https://blog.youkuaiyun.com/qq_33594101/article/details/105680954 Jenkins集成Sonar 添加Add post-build step --> Execute SonarQube Scanner 配置Execute SonarQube Scanner #项目主键,必须唯一 sonar.proje...

qwertyuiopasdfghjklzxcvbnm 2772

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

jacoco+maven+sonar+springboot 单元测试代码覆盖率统计

如题,你能看到本文,说明你应该对本文涉及的框架和组件已经初步了解。 总的来说,本文所述集成方案是对代码的单元测试用例执行覆盖率进行检测统计,主要是用来对开发人员单元测试用例编写程度的一种检测。 其整体过程大概可以分为: 1、使用 jacoco 代理,在 maven 执行之前植入 jacoco 代理。 2、maven 对项目进行编译打包,并自动执行单元测试用例(如 junit)。 3、测试用例执行...

小单的博客专栏 7437

maven jacoco sonar覆盖率报告

总括: 1, surefire执行test的代码 2,jacoco扫描test的覆盖率,pom中加入依赖即可 3,sonar解析,展现jacoco的工具,pom中加入插件,setting文件中集成sonarqube服务地址 过程中需要注意的问题 1,maven中的settng文件和编辑器的setting需要一致,避免maven中用默认的配置文件,认证不通过 2,执行mvn clean verify sonar:sonar 过程中避免由于test执行失败,导致verify生成报告...

yuhui666666的博客 1688

sonar jacoco 覆盖率为0_jacoco 生成单测覆盖率报告

一、jacoco 简介jacoco 是一个开源的覆盖率工具,它针对的开发语言是 java。其使用方法很灵活,可以嵌入到 ant、maven 中;可以作为 Eclipse 插件;可以作为 javaAgent 探针监控 java 程序等等。很多第三方的工具提供了对 jacoco 的集成,如 sonar、jenkins 等等。jacoco 包含了多种尺度的覆盖率计数器,包含指令级覆盖(Instructi...

weixin_39950083的博客 1733
上一篇: sonar踩坑(一)
下一篇: jenkins集成sonar、jacoco
fbb1116
博客等级 码龄9年 13粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值