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页面上可以正常查看到测试覆盖率的数据

⚠️ **GitHub.com Fallback** ⚠️