【测试】SonarLint连接SonarQube服务扫描

今天换一下口味聊聊测试方面的内容。

这个代码扫描市面上有很多很好用的工具像SpotBug、阿里的P3C、PMD等等,但这些基本上都是个人使用场景居多。上升到企业层面还需要关注代码债务、质量分析、坏味道统计等内容,若是这种情况用SonarQube就挺好。SonarQube使用社区版就好(当然了这社区版有很多东西不支持,但是不是常用功能可以接受),用Docker在服务器上部署一个要玩转它不是难事。

关于如何部署SonarQube就不再叙述了无非就是Jenkins + SonarQube + Gitlab这一套,这次集中说一下如何将SonarLint与SonarQube联动这才是开发人员所关心的。

SonarLint插件安装

先到SonarQube官网找到自己对应的IDE的SonarLint插件(以下用Eclipse插件为例,因为IDEA可以直接在IDE内安装),如下图:
请添加图片描述
请添加图片描述

又或者可以直接在Eclipse 的Market中找到插件,这里要注意的是Eclipse中需要查看一下当前版本是否可以被安装,如下图:

请添加图片描述

可以安装的话直接将“Install”拖拽到Eclipse版面中进行安装即可,安装完成后重启Eclipse

请添加图片描述

至于IDEA的情况,如下:

在这里插入图片描述

虽然我这边使用的是Pycharm,但是实现是一样的

在这里插入图片描述

接着在“Plugins”中找到SonarLint进行安装即可,重启应用后即可使用。

由于SonarLint可以连接到SonarQube服务器获取扫描规则,因此需要对SonarQube服务器信息进行配置。

插件配置
在这里插入图片描述

上图中的链接会直接跳转到Github中的,我这边直接用Eclipse和IDEA给各位演示一遍,如下图:

在这里插入图片描述

先创建一个SonarQube的链接

在这里插入图片描述

选择"connect to a server"

在这里插入图片描述

这时会让你填写SonarQube服务器的url地址,这里就按公司的地址填写就好

在这里插入图片描述

再往下就是访问鉴权了,这里提供了两种访问模式一种是Token,另一种是Username+Password,既然公司已经开放了账号给到开发人员了,这时只需要选择Username+Password就可以了。

在这里插入图片描述

输入个人账号和密码选“Next”

在这里插入图片描述

在连接验证成功后会让你给这个连接起个名字,这里随便填即可。

在这里插入图片描述

这里是“是否接收来自SonarQube的信息”,我这里是选中的,当然了可以不选没关系的。

在这里插入图片描述

接着就要选择绑定项目了,这里选择了其中一个项目作为绑定项目

在这里插入图片描述

这里是可以通过模糊搜索找到项目然后进行绑定的

在这里插入图片描述

绑定完成后通过鼠标右键 -> “SonarLint” -> "Analyze"进行代码分析,分析结果如下:

在这里插入图片描述

通过双击条目即可定位到代码位置,非常方便。

在IDEA的情况下也是一样需要对SonarLint进行配置,如下图:

在这里插入图片描述

重启应用后选择“Setting”-> “Tools”即可找到“SonarLint”,当然了也可以通过上面搜索定位到位置,之后将“Automatically trigger analysis”选上,这样就不用每次都手动触发了。之后就可以在下方添加SonarQube的服务器连接,如下图:

在这里插入图片描述

这里通过一个界面就完成了Eclipse多个界面的事情了,就是选择了Server和填上地址。

在这里插入图片描述

接着就是填上用户名和密码即可。

在这里插入图片描述

手动触发的时候就按照顺序执行“右键”->“SonarLint” ->"Analyze with SonarLint"就可以了。

在这里插入图片描述

目前已经支持多种开发语言,覆盖面已经去到Golang、TypeScript、Python、Kotlin、Scala等等。

页面联动

除了能够在IDE工具中直接定位到缺陷外,只要你安装了SonarLint并且已打开了IDE工具,在浏览SonarQube对应的缺陷时会提示你“用IDE打开”,当你点击这个按钮的时候会直接通过IDE工具给你定位到缺陷所在的位置,如下图:

在这里插入图片描述

在这里插入图片描述

开发人员再也不用反复切换界面去找缺陷代码位置了。

IDEA插件,Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题 1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写 2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷 3. 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这使得开发人员难以理解它们 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试 4. 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方 5. 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又使得开发人员将精力过多地花费在阅读注释上,亦违背初衷 6. 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率 7. 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kida 的技术小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值