SonarQube集成golang检测(10)

2023-11-19

sonar集成golang的检测工具

sonar中的插件SonarGo自带一些检测规则,但sonar想要集成golang的覆盖率、单元测试报告、和更多的代码规则,需要集成其他golang的检测工具

单元测试

  • 通过golang的单元测试工具go test生成单元测试报告(见https://blog.csdn.net/baidu_36943075/article/details/90634404)
  • 报告使用终端转化的json文件,不可以使用转化的xml报告、不转化终端报告(亲测可以读取报告但是sonar项目中并无展示任何相关数据,同时sonar配置中的go配置中也有说明)
go test -v xxx -json > test.json
  • sonar的项目配置文件sonar-project.properties中添加如下配置:
sonar.go.tests.reportPaths=xx/xx/xx
  • sonar导入golang的单元测试报告目前有1问题未解决,就是单元测试的报告中写入的package是项目名/包名(不含/go/src),运行sonar-scanner时总是报错提示找不到package和Test函数,经亲测发现无论怎么修改测试报告、sonar-scanner的运行目录都无法解决这个问题。

覆盖率

  • 通过golang的覆盖率统计工具生成覆盖率统计报告(见https://blog.csdn.net/baidu_36943075/article/details/90634404)
  • 报告需要直接使用终端报告,不可以使用转化的xml、html、txt报告(亲测sonar无法读取相应的报告,提示没有“mode:”字段)
go test -coverprofile=covprofile
  • sonar的项目配置文件sonar-project.properties中添加如下配置:
sonar.go.coverage.reportPaths=xx/xx/xx

静态扫描

  • 通过golang的扫描工具go vet生成报告(见https://blog.csdn.net/baidu_36943075/article/details/90634404)
  • 报告需要直接使用终端报告
go vet -n xxx 2> report.out
  • sonar的项目配置文件sonar-project.properties中添加如下配置:
sonar.go.govet.reportPaths=xx/xx/xx

外部规则

golint

  • 通过golint生成覆盖率统计报告(见https://blog.csdn.net/baidu_36943075/article/details/90634404)
  • 报告必须直接使用终端报告
golint xx/xx > golint
  • sonar的项目配置文件sonar-project.properties中添加如下配置:
sonar.go.golint.reportPaths=xx/xx/xx

gometalinter

  • 通过gometalinter生成覆盖率统计报告(见https://blog.csdn.net/baidu_36943075/article/details/90634404)
  • 报告必须使用终端报告,不可以使用转化的xml报告(亲测可以读取报告但是sonar项目中并无展示任何相关数据)
gometalinter xx/xx > gometalinter
  • sonar的项目配置文件sonar-project.properties中添加如下配置:
sonar.go.gometalinter.reportPaths=xx/xx/xx
  • 其实这些配置也可以直接在sonar管理端配置,但是为了实现’sonarqube做成服务器,使用各机器安装sonar-scanner扩展使用‘所以强烈推荐这个配置写在配置文件中

配置样例展示

sonar.projectKey=gpcore
sonar.projectName=gpcore
sonar.sources=gpcore
sonar.exclusions=**/*_test.go,**/vendor/**
sonar.tests=
sonar.test.inclusions=**/**_test.go
sonar.test.exclusions=**/vendor/**
sonar.go.coverage.reportPaths=report/coverage.out
sonar.go.tests.reportPaths=report/test.json
sonar.go.govet.reportPaths=report/govet-report.out
sonar.go.gometalinter.reportPaths=report/gometalinter-report.out
sonar.go.golint.reportPaths=report/golint-report.out
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SonarQube集成golang检测(10) 的相关文章

  • 攻防世界web---新手练习区

    查看网页源代码 根据提示 查看网页源代码 发生了什么 鼠标右键不管用了 F12看到了什么 哈哈哈哈哈 robots协议 也太简单了吧哈哈哈 备份文件 打开御剑扫描后台 cookie 没什么发现 抓包看看 看看cookie php 看http
  • Phase Sensitive Filter

    复数转换 如下图复数 由于 所以 这个就是复数的三角形式 这里 是模 是辅角 在讨论音频频域 即stft变换后的复数时 分别称为幅值和相位 根据欧拉公式 其中i是虚数符号 可得 这个公式可以方便地把幅值和相位还原回复数 进而做istft 将
  • java需会(转载)

    一 基础篇 1 1 Java基础 面向对象的特征 继承 封装和多态 final finally finalize 的区别 Exception Error 运行时异常与一般异常有何异同 请写出5种常见到的runtime exception i
  • Nginx日志常见时间变量解析

    request time 官方解释 request processing time in seconds with a milliseconds resolution time elapsed between the first bytes
  • js做四则运算时,精度丢失问题及解决方法

    一 前言 这个问题可以说是程序员必踩的坑 因此网上针对该问题的分析有很多也很详细 解决方法也比较统一 写法也是大同小异 本以为预期效果真能如他们所说是完美的 然而效果却是差强人意 二 问题 首先 先来看看两数相加的一个经典问题 网上找过不少
  • android系统下使用openGL开发demo

    对openGL早有耳闻 但是刚接触android下的opengl 做个demo学习下 先把opengl的框架搭建起来 只要有如下几个文件 openActivity java 作为启动入口 android通过GLSurfaceView显示op
  • Unity笔记:修改代码执行的默认打开方式

    使用 External Tools 偏好设置可设置用于编写脚本 处理图像和进行源代码控制的外部应用程序 External Script Editor 选择 Unity 应使用哪个应用程序来打开脚本文件 Unity 会自动将正确的参数传递给内
  • js判断输入框不能全是空格

    var sno sno val var sname sname val while sno lastIndexOf gt 0 sname lastIndexOf gt 0 sno sno replace sname sname replac
  • Python图像处理实战:处理和分析图像数据

    引言 在现代数字化时代 人们生产和获取数以亿计的数字图像 具体而言 这些图像数据常用于计算机视觉 模式识别 医学影像 地球观测和卫星遥感等领域 通过高级图像处理技术 可以从这些数据中提取出有用的信息 从而支持实现各种应用 本文主要介绍Pyt
  • JS学习笔记十二——DOM 操作

    DOM 操作 一 DOM 操作 二 结语 一 DOM 操作 DOM 全名为 Document Object Model 是一整套操作文档流相关内容的属性和方法 这些方法可以用于操作元素修改样式 修改属性 改变位置 添加事件等 DOM 操作内
  • Selenium成长之路-26分页处理

    很长时间没有补充selenium 的脚本了 今天有小朋友问我 如何定位分页 告诉完 索性把代码贴出来 gt gt gt url 填写自己项目中的url地址即可 上代码 coding utf 8 auth carl DJ time 2020
  • 新手教程02:使用makefile脚本进行VCS逻辑仿真

    目录 前言 使用makefile脚本的方式使用VCS 1 新建文件夹 存放需要仿真的rtl代码 2 生成 filelist f 文件 罗列所有rtl文件的路径 3 书写makefile脚本 4 terimal中运行命令 进行仿真 总结 前言
  • jmeter使用教程之验证码登录接口(工作日记)

    首先我们打开jmeter 快捷按钮 win r 会弹出快捷运行弹框 我们输入cmd 后点击回车 会弹出一个控制窗口 我们输入jmeter 然后回车 首次进入jmeter 页面显示空白页且默认英文 我们可以切换语言 Options Choos
  • Flutter 仿朋友圈查看大图,Swiper支持滑动

    Swiper支持多图片预览 左右切换 flutter swiper插件传送地址 先上效果图 1 导入引用到pubspec yaml文件里面 引入后记得pub get flutter swiper 1 1 6 2 写一个图片的集合 可以使用本
  • Nginx配置安全策略总结

    Nginx配置安全策略总结 Content Security Policy 头缺失或不安全 X Content Type Options 头缺失或不安全 X XSS Protection 头缺失或不安全 HTTP Strict Transp
  • SpringCloud——GateWay网关(详解+案例)

    目录 一 相关概念 1 网关概念 2 网关作用 3 网关架构图 4 网关三大核心 二 案例 1 案例说明 2 搭建GateWay网关9527服务 1 创建maven工程 2 导入依赖 3 配置application yml文件 4 创建主启
  • 深入了解== 和 equals的比较

    原文链接 https blog csdn net qq 41841247 article details 106987762
  • SMI/慧荣/SM32**主控量产通用教程,PNY U盘量产!

    我的PNY 8G U盘已多次量产测试 绝对可用 SMI 慧荣主控 SMI主控应该都能通用 我量产后 型号变成SM321 325了 这个可以改的 量产的时候 量产前 PNP设备 ID VID 154B PID 0 044 设备备序列号 AAA
  • Mysql高可用高性能存储应用系列2 - 深入理解锁和Mvcc

    概述 Mysql数据库在处理并发中下了很多功夫 锁是为了更好的保护数据的正确和可靠 Mvcc是维持一个数据的多个版本 使得读写操作没有冲突的解决并发的数据库方案 锁 当数据访问多了 就会出现并发的问题 Mysql锁设计的初衷是处理并发问题

随机推荐

  • vite 创建vue.js项目及vant安装

    1 npm create vitejs app 2 project name select framework select variant 3 cd wx vant 4 npm install 5 npm run dev 6 npm i
  • Linux 内存管理

    摘要 本章首先以应用程序开发者的角度审视Linux的进程内存管理 在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法 力求从外到内 水到渠成地引导网友分析Linux的内存管理与使用 在本章最后 我们给出一个内存映射的实例 帮
  • 你不知道的js

    作用域 LHS RHS 区别 如果 RHS 查询在所有嵌套的作用域中遍寻不到所需的变量 引擎就会抛出 ReferenceError 异常 值得注意的是 ReferenceError 是非常重要的异常类型 相较之下 当引擎执行 LHS 查询时
  • 循环单链表(C语言版)

    前言 小可爱们 本次一起来看看循环单链表吧 嘻嘻 一 循环单链表的定义 循环单链表是单链表的另一种形式 其结构特点链表中最后一个结点的指针域不再是结束标记 而是指向整个链表的第一个结点 从而使链表形成一个环 和单链表相同 循环链表也有带头结
  • 量化涌现:信息论方法识别多变量数据中的因果涌现

    来源 集智俱乐部 作者 Fernando E Rosas Pedro A M Mediano Henrik J Jensen等 译者 潘佳栋 审校 梁金 编辑 邓一雪 导语 大量个体聚集起来 常常涌现出新的复杂结构 鸟儿聚集起来形成兼具灵活
  • vue-cli 添加顶部导航栏及点击导航菜单,左侧菜单栏切换

    layout 模板包含菜单栏等主要框架 router 路由管理 根据路由可生成左侧菜单栏 When your routing table is too long you can split it into small modules imp
  • 迈向多模态AGI之开放世界目标检测

    作者 王斌 谢春宇 冷大炜 责编 夏萌 出品 360人工智能研究院 引言 目标检测是计算机视觉中的一个非常重要的基础任务 与常见的的图像分类 识别任务不同 目标检测需要模型在给出目标的类别之上 进一步给出目标的位置和大小信息 在 CV三大任
  • 【腾宇】postinstall-postinstall配合patch-package重写node_modules的依赖方法

    1 本地安装依赖 postinstall postinstall patch package npm i patch package postinstall postinstall save dev or yarn add patch pa
  • Python使用pandas从mysql数据库读取数据并导出到Excel

    工作中我们经常会从数据库中提取数据 处理之后 将结果整理为excel输出 本文主要介绍使用python的pandas工具从mysql数据获取数据 按要求处理之后 导出到excel文件 安装依赖 首先确定已经安装PyMySQL pandas
  • 算法高级(23)-彩虹表(Rainbow Table)

    一 彩虹表的定义 百度百科 彩虹表是一个用于加密散列函数逆运算的预先计算好的表 为破解密码的散列值 或称哈希值 微缩图 摘要 指纹 哈希密文 而准备 一般主流的彩虹表都在100G以上 这样的表常常用于恢复由有限集字符组成的固定长度的纯文本密
  • Python-test 2021.11.1

    1 val for val in b1 if val in b2 列表的交集与差集 b1 1 2 3 b2 2 3 4 b3 val for val in b1 if val in b2 b4 val for val in b1 if va
  • pandas列值根据字典批量替换

    更多 更及时内容欢迎留意微信公众号 小窗幽记机器学习 背景 DataFrame数据中一列的值需要根据某个字典批量映射为字典中的value 方法1 pandas中的df replace import pandas as pd import n
  • 1204: 鸡兔同笼

    1204 鸡兔同笼 时间限制 1 Sec 内存限制 128 MB 提交 188 解决 77 提交 状态 讨论版
  • 物理层(比特流)

    物理层 一 物理层的基本概念 二 数据通信的基础知识 1 数据通信系统的模型 2 有关信道的几个基本概念 3 信道的极限容量 4 信道的极限信息传输速率 三 物理层下面的传输媒体 1 导引型传输媒体 2 非导引型传输媒体 四 信道复用技术
  • 借力亚马逊云科技实现 Apache APISIX 的生态探索与产品成长

    关于 Apache APISIX Apache APISIX 于 2019 年被两位创始人捐赠给 Apache 软件基金会孵化器 并于第二年7月从孵化器毕业 成为 Apache 顶级项目 APISIX 作为开源 API 网关 一直以活跃和快
  • osgFBO(十二)深度纹理与颜色纹理混合

    前面涉及到了深度纹理和颜色纹理 由于qedl中 也要两者混合 所以 要考虑到两者混合 这里只是简单将其相加 一 设置纹理 采样颜色纹理 osg ref ptrosg Texture2D texColor createFloatRectang
  • SQLServer用SQL语句给字段设置约束

    第二次写博客 比第一次写起来顺手些了 文章目录 SQL server数据库的基础学习2 一 用SQL语句给字段设置约束 设置check约束 设置default约束 设置unique约束 SQL server数据库的基础学习2 一 用SQL语
  • BURP安装Turbo Intruder插件报错问题

    项目场景 看别人文章时 发现一款神仙插件Turbo Intruder 准备安装下来 先是在BURP商店安装 发现不能用 使用时报错 然后去github把源码下载下来安装 问题描述 安装后 准备使用它自带的脚本跑一下 发现报错 查看日志发现是
  • kubernetes报错Error from server (AlreadyExists): error when creating "kubernetes-dashboard.yaml": serv

    在执行 kubectl apply f kubernetes dashboard yaml 报错 Error from server AlreadyExists error when creating kubernetes dashboar
  • SonarQube集成golang检测(10)

    sonar集成golang的检测工具 sonar中的插件SonarGo自带一些检测规则 但sonar想要集成golang的覆盖率 单元测试报告 和更多的代码规则 需要集成其他golang的检测工具 单元测试 通过golang的单元测试工具g