sonarqube
sonarqube是什么
SonarQube是一个开源的代码分析平台,用来持续分析和评测项目源代码的质量。通过SonarQube我们可以检测出项目中重复代码,潜在bug,代码规范,安全性漏洞等问题,并通过SonarQube web UI展示出来。
SonarQube的优点:
- 自动化:SonarQube可以在不离开IDE的情况下对代码进行分析和评估。
- 可定制性:SonarQube提供了大量的插件和规则来满足不同项目的需求。
- 多语言支持:SonarQube支持多种编程语言,包括Java、C#、Python、JavaScript等。
- 实时反馈:SonarQube可以在代码修改时实时地更新分析结果,帮助开发人员及时发现问题并修复。
- 可视化:SonarQube提供了丰富的数据可视化功能,可以帮助开发人员更好地理解代码质量情况。
SonarQube的使用步骤:
- 安装SonarQube服务器和客户端。
- 在SonarQube服务器上创建项目并配置相关参数。
- 在项目中添加SonarQube插件或规则。
- 在IDE中集成SonarQube插件,启用代码分析功能。
- 运行代码分析任务,查看分析结果。
- 根据分析结果进行修复和优化。
接下来小编教大家如何安装使用sonarqube。
sonarqube本地安装使用配置
官网网址:https://www.sonarqube.org/
注意:sonarqube版本需要与jdk和数据库版本相对应,以及sonarqube对应电脑的位数
本案例中:JDK8、sonarqube7.6版本
在说明文档中可以查看sonarqube支持的jdk版本和数据库版本
1、下载sonarqube
官方网址: https://www.sonarqube.org/downloads/
2、解压到本地目录
3、修改sonarqube安装目录的conf目录下wrapper.conf
本案例路径(实际操作按照你真实的路径来):E:\sonarqube-7.6\sonarqube-7.6\conf
配置数据库以及sonarqube平台账号密码
sonar.jdbc.url=jdbc:mysql://localhost:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=gmsd
sonar.jdbc.password=gmsdtrade
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
4、启动sonarqube程序
双击StartSonar.bat
程序如图,则说明启动成功
打开浏览器输入网址:localhost:9000
刚开始sonarqube上是没有数据的(下图已经有数据,仅做展示)
5、sonarqube在maven中的配置
打开并修改maven的配置文件settings
#在proxies中添加
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>http://localhost:9000</sonar.host.url>
<sonar.jdbc.url>jdbc:mysql://localhost:3306/qjfsonar</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>123456</sonar.jdbc.password>
</properties>
</profile>
#在pluginGroups中添加
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
6、将本地项目推送到sonarqube
使用maven指令:mvn sonar:sonar
出现以下页面则说明操作成功
随后即可在sonarqube上查看代码的全量覆盖率,新增覆盖率,重复率,代码异味等信息
书籍推荐
以下是一些单元测试推荐书籍及其推荐理由:
1.《单元测试的艺术》(The Art of Unit Testing)
作者:Steve Freeman
推荐理由:这本书是单元测试领域的经典之作,详细介绍了如何设计、编写和执行高质量的单元测试。书中涵盖了许多实用的技巧和工具,包括测试驱动开发、测试套件、测试覆盖率等,非常适合初学者和有经验的开发人员阅读。
2.《Python 单元测试实战》(Python Unit Testing in Action)
作者:Tim Peters
推荐理由:这本书介绍了如何使用Python编写高质量的单元测试,并提供了一些实用的技巧和工具。书中还包含了许多示例代码和案例,可以帮助读者更好地理解单元测试的概念和技术。
3.《Java 单元测试实战》(Java Unit Testing in Practice)
作者:Roger Sampson
推荐理由:这本书是Java单元测试领域的经典之作,详细介绍了如何使用JUnit框架编写高质量的单元测试。书中涵盖了许多实用的技巧和工具,包括测试驱动开发、测试套件、测试覆盖率等,非常适合Java开发人员阅读。
4.《C# 单元测试实战》(C# Unit Testing in Depth)
作者:Glenn Myers
推荐理由:这本书介绍了如何使用C#编写高质量的单元测试,并提供了一些实用的技巧和工具。书中还包含了许多示例代码和案例,可以帮助读者更好地理解单元测试的概念和技术。
总之,这些书籍都是单元测试领域的经典之作,涵盖了许多实用的技巧和工具,非常适合初学者和有经验的开发人员阅读。无论你是哪种编程语言的开发者,都可以从中受益匪浅。
希望对你有所帮助~