今天碰到一个问题,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来执行合并。
相关推荐
Code Coverage Analysis for Eclipse
php-code-coverage工具包
代码覆盖测试-Code_Coverage_Testing_with_EclEmma-使用篇
ghunit code coverage.7z
安装 您可以使用将该库作为本地的,基于项目的依赖项添加到您的项目中: ...如果仅在开发过程中需要该库(例如,运行项目的...use SebastianBergmann \ CodeCoverage \ Driver \ Selector ; use SebastianBergmann \ Code
Java Code Coverage Library.zip
IOS CODE COVERAGE IN JEKINS.7z
特征管道支持现代化的覆盖率表覆盖趋势源代码导航管道支持中的并行执行报告合并REST API 故障条件和灵活的阈值设置其他小功能支持的覆盖率格式嵌入式的其他插件,作为Code Coverage API插件的扩展 ( ) ( ) ( )...
上一篇博客》介绍了VisualStudio所采用的Block覆盖中Block是如何...使用VisualStudio获取codecoverage数据是非常简单的,只需要在配置中选择“Code Coverage”选项,然后执行测试用例就可以了,覆盖数据会直接在"CodeCo
单元测试的重要性早已深入人心,测试驱动开发随着这两年极限编程的推广也逐渐流行起来.在付出时间与精力写单元测试的同时,确实也收获了降低regression bug,提高代码质量的好处
Android Code Coverage经典文档
1. VS2010的单元测试coverage文件无法通过命令行转换为xml文件。 2. 这里C#代码,读取coverage文件,然后转换为xml文件,非常简单。 converage2xlm的用法: Transform the coverage file to xml file. Coverage2xml...
JaCoCo Java Code Coverage Library JaCoCo is a free Java code coverage library distributed under the Eclipse Public License. Check the for downloads, documentation and feedback. Please use our for ...
雅各报告 Github操作,在“拉取请求”中将JaCoCo报告作为注释发布用法先决条件在存储库.github/workflows目录中创建一个工作流程.yml文件。 下面提供了。 有关更多信息,请参考GitHub帮助文档,用于。输入项path ...
SebastianBergmann \ CodeCoverage SebastianBergmann \ CodeCoverage是一个库,为PHP代码覆盖率信息提供收集,处理和呈现功能。 安装您可以添加phpunit / php-code-coverage为PHP代码覆盖率信息提供收集,处理和...
介绍使用Jacoco进行代码覆盖的Android项目获取代码覆盖率运行命令gradlew jacocoTestReport 可以在以下位置访问结果app/build/reports/jacoco/jacocoTestReport编译应用程序运行命令gradlew build 生成的APK可以在...
default (using Jacoco) code coverage is generated separately per module. This means each module takes into account it's own sources and tests (which is in terms of domain separation fine). However it ...
npm install -D @cypress/code-coverage 注意:此插件假定cypress是项目中已安装的对等依赖项。 添加到您的cypress/support/index.js文件 import '@cypress/code-coverage/support' 在cypress/plugins/index.js...
是一个关于php代码覆盖的工具,文章介绍了安装配置等,还是比较有用的,中文的介绍确实很少