首先,研发写的代码里要有单元测试相关的桩内容。
1.需要下载可用的jacoco.jar包配置到build.xml中
2.jenkins配置:
sonar.projectKey=${JOB_NAME}
sonar.projectName=$JOB_NAME
sonar.projectVersion=$SVN_REVISION
sonar.sources=.
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.dynamicAnalysis=reuseReports
sonar.core.codeCoveragePlugin=jacoco
sonar.surefire.reportsPath=${WORKSPACE}/billtrunk/target/junit
sonar.java.binaries=${WORKSPACE}/billtrunk/bin/classes
sonar.jacoco.reportPath=${WORKSPACE}/billtrunk/target/sonar/jacoco.exec
sonar.junit.reportPaths=${WORKSPACE}/billtrunk/target/junit
sonar.jacoco.itReportPath=${WORKSPACE}/billtrunk/target/ITCoverageReport/jacocoIT.exec
3.build.xml样本
<?xml version="1.0" encoding="UTF-8"?>
<project name="Simple Java Project analyzed with the Sonar Ant Task" default="all" basedir="." xmlns:jacoco="antlib:org.jacoco.ant" xmlns:sonar="antlib:org.sonar.ant" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- ========= Define the main properties of this project ========= -->
<property name="src.dir" value="src" />
<property name="build.dir" value="bin" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="lib.dir" value="${build.dir}/lib/"/>
<property name="reports.junit.xml.dir" value="${basedir}/target/junit"/>
<property name="sonar.coverage.lib" value="/opt/lib_coverage"/>
<property name="ivysettings.dir" value="/opt/ivysettings"/>
<property name="jacoco.dir" value="${basedir}/target/sonar"/>
<property name="reports.ITCoverageReport.exec" value="${basedir}/target/ITCoverageReport"/>
<property name="reports.ITCoverageReport.dir" value="${reports.ITCoverageReport.exec}/report"/>
<path id="project.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement path="${classes.dir}"/>
</path>
<ivy:settings file="${ivysettings.dir}/ivysettings.xml" />
<target name="resolve" description

本文档介绍了如何结合Jenkins、Sonar、jcoco和Ivy实现代码覆盖率报告。首先,确保代码包含单元测试内容。接着,下载并配置jacoco.jar到build.xml,然后配置Jenkins的Sonar插件,设置必要的属性如项目键、名称、版本等。在build.xml中,定义了编译、测试和报告生成的相关任务,包括单元测试的执行、JaCoCo覆盖率报告的生成。最后,通过在SonarQube web端配置,将单元测试结果展示,并在Tomcat的server.xml中添加链接以访问这些报告。
最低0.47元/天 解锁文章
965

被折叠的 条评论
为什么被折叠?



