sonarQube 覆盖率配置
前言
覆盖率不是sonar直接给我们生成的,而是根据项目覆盖率工具,自己生成报告,然后集成jacoco插件,生成覆盖率报告,最后由sonar收集
Maven集成Jacoco
-
添加jacoco插件的依赖
<!--jacoco覆盖率--> <dependency> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.3</version> </dependency>
-
添加jacoco插件
<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.8</version> <executions> <execution> <id>pre-test</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>post-test</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin>
-
打包过程放开单元测试
注意:父类pom文件将单元测试扫描放开
-
sonar-project.properties 配置文件新增如下三个参数
# 指定代码覆盖率工具为jacoco sonar.core.codeCoveragePlugin=jacoco # 指定exec二进制文件存放路径 sonar.jacoco.reportPaths=target/coverage-reports/jacoco.exec sonar.java.binaries=E:/work/sf-report-server/target
sonarQube远程上传报告
-
在SonarQube页面创建项目
-
创建令牌:用于远程连接
-
下载并解压SonarScanner压缩包 下载地址:SonarScanner | SonarQube Docs 将压缩包解压到指定目录,并将解压目录下的bin目录配置到系统环境变量%PATH%中。
-
进入IDEA需要扫描的项目所在目录下,修改sonar.java.binaries=xxxx 参
-
window环境下进入dos黑窗口,进入项目代码所在目录,执行如下命令
sonar-scanner.bat -D"sonar.projectKey=d61bb1575600fc40dfb48e0620e1ff7115518336" -D"sonar.sources=src" -D"sonar.language=java" -D"sonar.host.url=http://localhost:9002" -D"sonar.login=admin" -D"sonar.password=admin" sonar.projectKey : sonarQube 令牌 sonar.language :扫描语言 sonar.host.url: sonarQube 远程地址 sonar.login : 用户名 sonar.password: 密码
-
正常结果
-
再去SonarQube页面上即可查看代码检查结果