jenkins sonarqube testng jacoco实现单元测试及代码覆盖率报告 - sysrj2010/CICD GitHub Wiki
#pom.xml文件上增加testng
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.21</version>
#pom.xml文件上增加jacoco插件 maven-surefire-plugin 2.22.1 UTF-8 testng.xml
代码中使用@Test增加测试用例,在jenkins中增加testng插件且在构建后动作中加入Publish TestNG Results 后,可以在jenkins中查看到testng的单元测试报告
org.jacoco jacoco-maven-plugin 0.8.2 target/coverage-reports/jacoco-unit.exec target/coverage-reports/jacoco-unit.exec target/coverage-reports/ui/ jacoco-initialize prepare-agent jacoco-site test report
代码中增加jacoco的插件且在jenkins构建后加入:Record JaCoCo coverage report(属性保持不变),此时可以在jenkins中查看到测试覆盖率报告
#sonar server修改用户可匿名访问,并生成token(创建项目时可直接生成)
#安装sonarqube scanner插件,jenkins的SonarQube servers中配置服务器信息(token注意使用IE浏览器创建 secrity text才可以增加token),全局配置工具中增加“SonarQube Scanner 安装” 项目,在post step阶段增加Execute SonarQube Scanner,jdk正常选择,Analysis properties内容如下方式填写:
sonar.projectKey=test0806
sonar.projectName=test0806
sonar.projectVersion=v1.0
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.sources=/root/.jenkins/workspace/test0806/src/main
sonar.tests=/root/.jenkins/workspace/test0806/src/test
sonar.java.binaries=/root/.jenkins/workspace/test0806/target/classes/
sonar.junit.reportsPath=target/surefire-reports/
sonar.java.coveragePlugin=jacoco
sonar.jacoco.reportPath=target/coverage-reports/jacoco-unit.exec
sonar.jacoco.itReportPath=target/coverage-reports/jacoco-unit.exec
至此,在sonarqube页面上可以正常查看到测试覆盖率的数据