今天碰到一个问题,CI上的一个job,有多个子目录,分别生成各自的Jacoco的Code coverage report,我们想合并这些报表。研究了一下jacoco:merge的maven插件和ant任务,由于我们是Scala的SBT项目,最后采用如下方法实现。
添加一个pom_cc.xml文件,内容如下。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.squbs</groupId> <artifactId>unicomplex-mergecc</artifactId> <version>0.0.2-SNAPSHOT</version> <!-- Packing Type is bundle for OSGI Library Bundle --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <phase>post-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <!-- Execute an ant task within maven --> <echo message="Generating JaCoCo Reports" /> <taskdef name="report" classname="org.jacoco.ant.ReportTask"> <classpath path="${basedir}/target/jacoco-jars/org.jacoco.ant.jar" /> </taskdef> <mkdir dir="${basedir}/target/coverage-report" /> <report> <executiondata> <fileset dir="${basedir}/unicomplex/target/scala-2.10/jacoco"> <include name="jacoco.exec" /> </fileset> <fileset dir="${basedir}/zkcluster/target/scala-2.10/jacoco"> <include name="jacoco.exec" /> </fileset> </executiondata> <structure name="jacoco-multi Coverage Project"> <group name="jacoco-multi"> <classfiles> <fileset dir="${basedir}/unicomplex/target/scala-2.10/classes" /> <fileset dir="${basedir}/zkcluster/target/scala-2.10/classes" /> </classfiles> <sourcefiles encoding="UTF-8"> <fileset dir="${basedir}/unicomplex/src"></fileset> <fileset dir="${basedir}/zkcluster/src"></fileset> </sourcefiles> </group> </structure> <html destdir="${basedir}/target/coverage-report/html" /> <xml destfile="${basedir}/target/coverage-report/coverage-report.xml" /> <csv destfile="${basedir}/target/coverage-report/coverage-report.csv" /> </report> </target> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.ant</artifactId> <version>0.7.1.201405082137</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
然后调用mvn clean verify -f pom_cc.xml来执行合并。
相关推荐
JaCoCo(Java Code Coverage)是一个广泛使用的开源代码覆盖率工具,专门针对Java应用程序。它提供了简单的API和Maven、Gradle等构建工具的插件,使得开发者能够轻松地集成到自己的项目中,以测量单元测试的代码覆盖...
JaCoCo(Java Code Coverage Library)是一款强大的Java代码覆盖率工具,它为开发者提供了在单元测试和集成测试中衡量代码覆盖率的能力。JaCoCo的主要目标是简化覆盖率收集并提供易于使用的报告,使得开发团队能够...
雅各报告 Github操作,在“拉取请求”中将JaCoCo报告作为注释发布用法先决条件在存储库.github/workflows目录中创建一个工作流程.yml文件。 下面提供了。 有关更多信息,请参考GitHub帮助文档,用于。输入项path ...
JaCoCo(JaCoCo Code Coverage)是一款强大的Java代码覆盖率工具,广泛应用于软件开发中的单元测试覆盖率分析。JaCoCo提供了多种集成方式,包括Maven、Gradle以及Ant等。在这个实例中,我们将重点关注如何使用JaCoCo...
JaCoCo,全称为Java Code Coverage Library,是一个开源的Java代码覆盖率工具。它被广泛用于软件开发中的单元测试覆盖率分析,帮助开发者了解测试覆盖了多少代码,确保测试的质量和完整性。JaCoCo的核心功能是通过...
anger-jacoco是插件,用于验证更改文件的代码覆盖率 安装 sudo gem install danger-jacoco 用法 加 jacoco . minimum_project_coverage_percentage = 50 # default 0 jacoco . minimum_package_coverage_map = { # ...
JaCoCo(JaCoCo: Java Code Coverage Library)是一款广泛使用的开源Java代码覆盖率工具,它可以帮助开发者在单元测试中衡量和验证代码的覆盖情况。JaCoCo通过字节码注入的方式,在运行时收集代码覆盖率数据,支持...
JaCoCo(Java Code Coverage)是一款广泛使用的开源Java代码覆盖率工具,它可以帮助开发者在单元测试过程中了解代码的覆盖率情况,确保代码的质量。JaCoCo提供了方便的插件系统,可以与Maven、Gradle等构建工具无缝...
Java Code Coverage(JaCoCo)是一款强大的开源代码覆盖率工具,主要用于Java应用程序的测试覆盖率分析。JaCoCo提供了一套命令行接口(CLI),即jacococli.jar,用于执行各种与代码覆盖率相关的任务,如生成覆盖率...
"Getting-Started-with-Code-Coverage-by-Jacoco.pdf"可能是详细的教程,指导读者如何开始使用JaCoCo进行代码覆盖率分析。"jacoco-example.zip"可能包含一个实际的Maven项目示例,演示了JaCoCo的集成和使用。 总之...
代码覆盖率(Code Coverage)是衡量测试充分性的指标,它表示源代码中有多少行、分支或语句被测试用例执行过。常见的覆盖率类型包括行覆盖率、分支覆盖率、条件覆盖率等。代码覆盖率高意味着测试更全面,但并不代表...
Coverage report will be located at `build/reports/jacoco/test/html/index.html` # Code style issues report will be located at `build/reports/checkstyle/main.html` 如何贡献 过头。 可用算法 归并排序 快速...
Maven – JaCoCo代码覆盖率示例Maven,JUnit 5 + JaCoCo... $ git clone https://github.com/mkyong/maven-examples.git$ cd maven-code-coverage$ mvn clean test# view report at 'target/site/jacoco/index.html'
JaCoCo(JaCoCo: Java Code Coverage Library)是一款广泛使用的开源Java代码覆盖率工具,适用于单元测试和集成测试,它可以帮助开发者了解测试覆盖了多少代码,是持续集成和质量控制的重要组成部分。JaCoCo不仅支持...
JaCoCo是一个常用的Java代码覆盖率工具,它可以集成到Android项目中,生成覆盖率报告,帮助我们了解测试的全面性。 在`Android-Test-Coverage`项目中,你可能还会发现如何设置和运行测试,以及如何生成和解析覆盖率...