SonarQube 08 代码覆盖率统计

网友投稿 1183 2022-11-30

SonarQube 08 代码覆盖率统计

SonarQube 08 代码覆盖率统计

这个覆盖率不是sonar直接给我们生成的,而是根据项目覆盖率工具,自己生成报告,比如jacoco。

找一个具有大量单元测试的项目, 然后集成jacoco插件,生成覆盖率报告,最后由sonar收集。

Maven集成Jacoco

添加​​jacoco-maven-plugin​​​ 和​​junit​​插件。

运行完jacoco之后会生成这个文件,sonar扫描的时候会读取这个文件

target/jacoco.exec

添加jacoco插件的依赖以及junit的依赖

org.jacoco jacoco-maven-plugin 0.8.2 test junit junit 4.12 test

添加插件,在pom文件里面引入进来就可以了

[root@jenkins-agent devops-jacoco-service-master]# lspom.xml src[root@jenkins-agent devops-jacoco-service-master]# vim pom.xml

org.apache.maven.plugins maven-compiler-plugin 3.6.1 true true 1.8 1.8 org.jacoco jacoco-maven-plugin 0.7.5.201505241946 prepare-agent prepare-agent report prepare-package report post-unit-test test report target/jacoco.exec target/jacoco-reports target/jacoco.exec

SonarQube安装Jacoco插件

如果发现项目没有覆盖率,那么需要开发的同学去加jacoco这个插件

SonarQube安装Jacoco插件(8.9.1 版本可以跳过,已经集成)

​​指定代码覆盖率工具为jacocosonar.core.codeCoveragePlugin=jacoco# 指定exec二进制文件存放路径sonar.jacoco.reportPaths=target/jacoco.exec

cd devops-jacoco-service/[root@jenkins-agent devops-jacoco-service-master]# mvn clean packagesonar-scanner -Dsonar.host.url=\-Dsonar.projectKey=devops-jacoco-service \-Dsonar.projectName=devops-jacoco-service \-Dsonar.projectVersion=1.0 \-Dsonar.login=admin \-Dsonar.password=admin \-Dsonar.ws.timeout=30 \-Dsonar.projectDescription="my first project!" \-Dsonar.links.homepage=\-Dsonar.sources=src \-Dsonar.sourceEncoding=UTF-8 \-Dsonar.java.binaries=target/classes \-Dsonar.java.test.binaries=target/test-classes \-Dsonar.java.surefire.report=target/surefire-reports \-Dsonar.core.codeCoveragePlugin=jacoco \-Dsonar.jacoco.reportPaths=target/jacoco.execsonar-scanner -Dsonar.host.url=\-Dsonar.projectKey=devops-jacoco-service \-Dsonar.projectName=devops-jacoco-service \-Dsonar.projectVersion=1.0 \-Dsonar.login=bd7fd034bed694546d391ebc49a3ff1bd136df23 \-Dsonar.ws.timeout=30 \-Dsonar.projectDescription="my first project!" \-Dsonar.links.homepage=\-Dsonar.sources=src \-Dsonar.sourceEncoding=UTF-8 \-Dsonar.java.binaries=target/classes \-Dsonar.java.test.binaries=target/test-classes \-Dsonar.java.surefire.report=target/surefire-reports \-Dsonar.core.codeCoveragePlugin=jacoco \-Dsonar.jacoco.reportPaths=target/jacoco.exec

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:shell test 检查条件是否成立
下一篇:Springboot实现发送邮件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~