sonarqube支持多种代码覆盖率的报告展示,最常用的当属jacoco报告,那么jacoco的报告怎么同步到我们的sonarqube中呢?

我们先看看jacoco的offline模式(单元测试)报告生成的流程

根据上图我们需要生成单测报告,有两个关键点:

  • 触发单测
  • 触发jacoco生成报告

为了实现上述功能,我们首先需要对我们工程进行改造

  1. 引入jacoco插件(只需引入插件即可)
      <plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.7</version><configuration><!--指定生成.exec文件的存放位置--><destFile>target/coverage-reports/jacoco-unit.exec</destFile><!--Jacoco是根据.exec文件生成最终的报告,所以需指定.exec的存放路径--><dataFile>target/coverage-reports/jacoco-unit.exec</dataFile><includes><include>com/dr/jacoco/services/**</include></includes><excludes><exclude>META-INF/**</exclude></excludes></configuration><executions><execution><id>jacoco-initialize</id><goals><goal>prepare-agent</goal></goals><phase>test-compile</phase></execution><execution><id>jacoco-site</id><phase>verify</phase><goals><goal>report</goal></goals></execution></executions></plugin>

这里我们看看配置的两个关键点,当生命周期test-compile,即单测编译时触发jacoco的初始化,当生命周期verify时就对jacoco报告进行生成

  1. 执行sonar命令
mvn clean  verify  sonar:sonar \
-Dsonar.host.url=http://*******.com \
-Dsonar.login=********** \
-Dsonar.projectKey=jacoco-demo \
-Dsonar.projectName=jacoco-demo \
-Dsonar.java.source=1.8 \
-Dsonar.branch.name=master \
-Dsonar.java.coveragePlugin=jacoco \
-Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml

此命令会触发单测,verify命令会触发报告,然后通过
-Dsonar.java.coveragePlugin=jacoco
-Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
指定报告类型和报告的本地路径就可以轻松上传报告到jacoco

使用上就是这么简单,当然在集成上也会有一些坑,比如springboot运行junit5会出现无法触发的问题等
,据说是版本不兼容的问题,我们只需通过pom指定版本就可解决

           <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><configuration><skipTests>false</skipTests></configuration><dependencies><dependency><groupId>org.apache.maven.surefire</groupId><artifactId>surefire-junit47</artifactId><version>2.19.1</version></dependency><dependency><groupId>org.junit.platform</groupId><artifactId>junit-platform-surefire-provider</artifactId><version>1.1.0</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><version>5.1.0</version></dependency></dependencies></plugin>

jacoco单测报告怎么同步到sonarqube相关推荐

  1. 北京自动驾驶路测报告公布:测试排名只是表面,解读百度领跑背后

    全球自动驾驶看加州,中国自动驾驶看北京. 加州是谷歌Waymo.通用Cruise等美国自动驾驶企业的"大本营",其它多国自动驾驶企业也将加州作为自动驾驶开放道路的测试地,不断在此积 ...

  2. 北京自动驾驶路测报告公布:测试排名只是表面,解读百度领跑背后...

    全球自动驾驶看加州,中国自动驾驶看北京. 加州是谷歌Waymo.通用Cruise等美国自动驾驶企业的"大本营",其它多国自动驾驶企业也将加州作为自动驾驶开放道路的测试地,不断在此积 ...

  3. 中国官方唯一无人车路测报告一出炉,百度股价又涨了

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 中国最权威.最具参考性的自动驾驶年度报告? 那肯定非<北京市自动驾驶车辆道路测试报告>莫属,这也是中国目前官方唯一的自动驾驶路测 ...

  4. html表单提交前验证,jquery表单提交前实现同步验证(附代码)

    jquery表单提交前实现同步验证 .int{ height: 30px; text-align: left; width: 600px; } label{ width: 200px; margin- ...

  5. GoldenGate配置实例:RHEL 4.7下的Oracle 10g RAC到单实例的单向同步(一)

    环境 源端是一个RAC rac1 rac2: RHEL 4u7 + ORACLE 10.2.0.4 + ASM rac1 外网IP 192.168.47.241 虚拟IP 192.168.47.243 ...

  6. 基于 FPGA 的高级数字电路设计(7)单口 RAM、同步 FIFO、异步 FIFO 设计

    一.单口 RAM 设计 module BRAM_PORTA( input clka, input ena, input wea, input [3:0] addra, input [15:0] din ...

  7. 使用mongo shake实现从一个单实例mongo往多个mongo单实例进行数据同步

    一 实验环境 二 实验步骤 2.1 确保源端mongo已开启oplog 可参考单实例MongoDB 如何开启Oplog_雅冰石的专栏-CSDN博客 2.2 安装mongoshake 在每个目标端都安装 ...

  8. 领克02linux车机怎么升级,你们想看的领克02长测报告来了,一篇读懂02的车机系统...

    [汽车之家 长期测试] 来到了第三期,咱就聊聊年轻人所关注的一项配置吧:车机系统.其实不仅是领克,近两年推出的很多新车型都喜欢把车机系统作为卖点,这无可厚非,毕竟一个看上去更科幻.功能集成度更高的车机 ...

  9. Unity3dRPG 相机跟随player旋转_轻松记录美好生活——橙影智能摄影机M1众测报告_相机配件...

    2020-11-10 10:08:270点赞0收藏0评论 9月28日 - 11月12日,参与#双11购物攻略#征稿活动,赢取苹果全家桶+8888元超级锦鲤大奖!瓜分十万金币,值得买周边一次全攒齐!品类 ...

最新文章

  1. selenium环境搭建
  2. 的文件夹结构_Windows中你需要知道的目录结构 「第一期」
  3. 弹性架构_实践中的弹性基础架构
  4. 从源码角度解析线程池中顶层接口和抽象类
  5. HTML Agility Pack 搭配 ScrapySharp,彻底解除Html解析的痛苦
  6. 机器学习标准教科书PRML的Python实现:最佳读书伴侣
  7. 超级搜索术-读书笔记
  8. js判断上传文件为图片格式、excel格式
  9. 我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点如下: 1、 长度13位; 2、 以86的国家码打头; 3、 手机号码的每一位都是数字。
  10. 【MySQL】九、数据排序(升序 order by ... asc,降序 desc),sql语句的执行顺序
  11. vue项目在ie浏览器中不兼容问题的处理
  12. 计算机组成原理简答题
  13. 阿里架构专家教你打通Git任督二脉,20分钟搞定Git工作原理
  14. 从一个叫灵异拼图(the forgotten) 影片看东西方文化的差异
  15. YUI 3 学习笔记:loader
  16. java sortmap分析_Java编程中的SortedMap接口
  17. MapBoxSDK导入高版本unity2020、2021报错ARBackgroundRenderer
  18. 通过HttpURLConnection连接上传文件和参数并接收
  19. Zynq的启动过程及加密
  20. 计算机主要分为台式机和什么,计算机基础知识-台式机.ppt

热门文章

  1. 用python turtle画人_Python中如何用turtle库画出小猪佩奇社会人
  2. gnome-terminal 终端复用
  3. 电商专业术语(跟进中)
  4. 电脑进入BOOT MENU 按键总结!!!
  5. NLP|中文分词技术及应用
  6. Linux系统及应用(实验报告)---文件管理与常用命令
  7. Fusioncharts系列之基于Fusioncharts的报表统计
  8. 2020-2021 Android 腾讯面试真题含参考答案,写得太好了
  9. 求矩形槽内电位分布matlab,MATLAB求解接地金属槽内电位分布
  10. python自考_让我们一起来看看自学Python人的心声(附学习教程)