首页 > 其他分享 >sonarqube覆盖率是0的几种原因

sonarqube覆盖率是0的几种原因

时间:2024-09-03 11:14:41浏览次数:8  
标签:覆盖率 sonarqube 生成 PrepareForTest jacoco 几种 class

jacoco没有正常生成报告

sonarqube显示的单元测试覆盖率,依赖于junit,如果要在maven test的过程中生成覆盖率需要使用jacoco。

sonarqube的覆盖率是读取的jacoco生成的信息,所以第一步是检查jacoco是否有正常的生产测试报告
检查target\site\jacoco目录下面是否有报告生成,然后查找jacoco没有生成报告的原因,比如有没有通过的测试,tes过程被 skip,没有导入surefire插件所有没有触发覆盖率的记录等等。

PrepareForTest模拟了被测试类

使用testMe生成的单元测试代码,选用Powermock模版默认会加上@PrepareForTest({被测试类.class}),这样会导致没有sonarqube没有覆盖率

@RunWith(PowerMockRunner.class)
@PrepareForTest({GroupServiceImpl.class})
@PowerMockIgnore({"javax.management.*", "javax.script.*"})
public class GroupServiceImplTest {

}

在maven插件里面指定排斥路径的时候不小心指定了一个父路径

比如要测试的包是 com.lomi.goods.service.impl.xxxxServerImpl

<sonar.coverage.exclusions>
    **/goods/**,
    **/annotation/**
</sonar.coverage.exclusions>

标签:覆盖率,sonarqube,生成,PrepareForTest,jacoco,几种,class
From: https://www.cnblogs.com/cxygg/p/18394185

相关文章

  • CentOS 8 安装 jenkins、gitlab-ce、SonarQube教程
    一、在CentOS8上安装jenkins在一台CentOS8(IP:10.0.0.81RAM:2GB)上安装jenkins-2.452.41、配置Java环境从Jenkins-2.357版本开始JDK最低要求java11,而jenkins-2.346.1是最后一个支持java1.8的版本。点击查看代码1.先查看系统是否自带了jdk,若有输出信息,批量卸载......
  • FFmpeg开发笔记(五十)聊聊几种流媒体传输技术的前世今生
    ​自从互联网普及之后,用于视频直播的流媒体技术就发展起来。这几十年中,比较有影响的主要有MMS、RTSP、RTMP、HLS、SRT、RIST几种,分别介绍如下。1、MMS协议MMS全称MicrosoftMultimediaServer,意思是微软多媒体服务器,它是微软公司在上世纪九十年代发布的多媒体服务器解决方案,可用......
  • 【C++】单元测试覆盖率工具lcov的使用
    本文首发于❄️慕雪的寒舍本文讲述了如何在C++代码中使用单元测试覆盖率工具lcov,以及gcov命令的使用。版本是lcov2.0和gcov11.4.0。写在前面:lcov是我在实习期间初次接触到的工具,当时在配置的时候就遇到了大量中文互联网没有任何记录的问题。绝大部分博客对lcov工具的......
  • C#中获取程序路径的几种方法及启动方式
    目录整理的几种获取当前目录的方式手动启动C#使用System.Diagnostics.Process.Start()方法启动通过cmd命令行启动通过LabVIEW中“执行系统命令”(SystemExec.vi)启动总结在开发的程序中使用自定义的配置文件属于基本的操作了,但最近发现一个问题:如果程序是由用户通过exe......
  • webapi 获取参数值的几种方式
    [FromRoute(Name="名字")],捕捉的值会被自动赋值给Action中同名的参数;如果名字不一致,可以用[FromRoute(Name="名字")][FromQuery]来获取QueryString中的值。如果名字一致,只要为参数添加[FromQuery]即可;而如果名字不一致,[FromQuery(Name=名字)][FromForm]从Content-Type为mult......
  • 批量杀死MySQL连接的几种方法
    一:通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令。 mysql>selectconcat('KILL',id,';')frominformation_schema.processlistwhereuser='root';+------------------------+|concat('K......
  • linux centos 启动 nginx 几种方式
    在CentOS上安装Nginx的方法有几种,具体取决于你的需求和系统版本。以下是几种常见的方法:1.使用EPEL仓库安装(推荐)安装EPEL仓库(如果还没有安装):sudoyuminstallepel-release安装Nginx:sudoyuminstallnginx启动Nginx:sudosystemctlstartnginx设置Nginx开机自启:sudos......
  • 领域驱动设计(DDD)的几种典型架构介绍
    领域驱动设计(DDD)的几种典型架构介绍 平常工作中都听说了DDD,也对DDD做定程度的了解,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢?一、专业术语各种服务IAAS:基础设施服务,Infrastructure-as-a-servicePAAS:平台服务,Platform-as-a-serviceSAAS:软件服务,Softwa......
  • Redis几种常用数据类型的数据结构
    以下是redis-7版本以下适用stringint编码:当字符串长度小于等于12字节并且字符串可以表示为整数时,Redis会使用int编码。这样可以节省内存,并且在执行一些命令时可以直接进行数值计算。embstr编码:当字符串长度小于等于39字节时,Redis会使用embstr编码。这种编码方式会将......
  • Python中几种lambda排序方法
    1.对单个变量进行排序#lst=[[5,8],[5,3],[3,1]]lst.sort(key=lambdax:x[1])#lst=[[3,1],[5,8],[5,3]]以元素的第二个元素升序排列2.对多个变量进行排序#lst=[[5,8],[5,3],[3,1]]lst.sort(key=lambdax:(x[1],x[0]))#lst=[[3,1],[5,3],[5,8]]以元素的......