Bootstrap

java 持续集成 junit_Java持续集成(三)-- 为maven配置测试代码覆盖率并上传到sonar...

Step1:在pom.xml配置新的profile来支持Jacoco插件

coverage-per-test

org.apache.maven.plugins

maven-surefire-plugin

2.13

listener

org.sonar.java.jacoco.JUnitListener

org.sonarsource.java

sonar-jacoco-listeners

3.8

test

Step2:在pom.xml配置sonar服务器链接

http://localhost:9000

Step3:运行单元测试及覆盖率分析

如果仅仅运行单元测试,不分析覆盖率:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install

如果运行单元测试的同时分析覆盖率:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Pcoverage-per-test

Step4:执行代码扫描,并上传覆盖率到sonar上

mvn sonar:sonar

正常情况下在sonar上面就能看到代码覆盖率和测试通过率了,如图:

4a5010c9f1398cbfaed4ad947272b3f1.png

如果没有看到测试结果检查maven有没有一下输出:

T E S T S

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

如果没有的话,请pom.xml搜索true,然后删除掉。

Step5:提交代码提交单元测试及分析结果,更新Jenkins的配置

需要在Jenkins job里面添加相应的maven命令,这样子Jenkins才能自动分析代码覆盖率并上传到sonar.

;