sonar集成jacoco展示单元测试覆盖率

(一)sonar-scanner结合jacoco

这里还是要用到maven生成jacoco的统计结果,所以推荐直接使用maven的方式检查项目

1.在要检测的项目的pom文件中加入如下配置:

 
                org.apache.maven.plugins
                maven-surefire-plugin
                2.18.1
                
                    ${surefireArgLine}
                
            
               
                org.jacoco
                jacoco-maven-plugin
                0.7.9
                
                    
                        
                        default-prepare-agent
                        
                            prepare-agent
                        


                    
                        
                            ${project.build.directory}/coverage-reports/jacoco.exec
                        
                        surefireArgLine
                    


                


                
                
                    default-report
                    test
                    
                        report
                    


                    
                        ${project.build.directory}/coverage-reports/jacoco.exec
                        ${project.reporting.outputDirectory}/jacoco
                    


                


            
        

2. 然后执行:mvn install
jacoco的结果文件就在target目录下生成了

3.然后,在项目下新建sonar-project.properities文件,内容如下:
sonar.projectKey=your_project_name
sonar.projectName=your_project_name
sonar.projectVersion=1.0
sonar.sources=src/main
sonar.tests=src/test
sonar.java.binaries=target
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.core.codeCoveragePlugin=jacoco

指定exec二进制文件存放路径

sonar.jacoco.reportPaths=[your_path]/jacoco.exec

以下属性可选择性加,当然也可以不加

sonar.dynamicAnalysis=reuseReports
sonar.jacoco.reportMissing.force.zero=false

4.最后在项目根目录下执行sonar-scanner,就可以在sonar主页看到包含单元测试覆盖率的报告了

(二)使用maven直接在sonar中加入单元测试覆盖率
1.前两步跟上面是一样,最后检查代码的命令为:
mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.jacoco.reportPaths=[your_path]/jacoco.exec -Dsonar.dynamicAnalysis=reuseReports
2.不修改项目pom文件的方法:
先执行:mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
然后:mvn sonar:sonar

你可能感兴趣的:(代码检查)