我正在使用ant ant的jacoco来生成来自几个模块的类的代码覆盖报告。
sourcedir/
- 模块1/
- TARGET/CLASS/CLASS11
- 目标/类/class12
- Module2/
- 目标/类/class21
- 目标/类/class22
蚂蚁任务:...
<property name="src.dir" location="sourceDir"/>
<target name="report">
<jacoco:report>
<executiondata>
<file file="${result.exec.file}" />
</executiondata>
<structure name="JaCoCo Report">
<classfiles>
<fileset dir="${src.dir}" includes="**/target/classes/**" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src.dir}" />
</sourcefiles>
</structure>
<html destdir="${result.report.dir}" />
<csv destfile="${result.report.dir}/report.csv" />
<xml destfile="${result.report.dir}/report.xml" />
</jacoco:report>
</target>
运行蚂蚁任务我得到的报告类似:
报告
- class11
- class12
- class21
- class22
想得到这样的东西:
报告:
- 模块1/
- class11
- class12
- Module2/
- class21
- class22
在http://www.jacoco.org/jacoco/jacoco/trunk/doc/ant.html:
可以通过组元素的层次结构来完善结构。这样,覆盖范围报告可以反映软件项目的不同模块。对于每个组元素,可以单独指定相应的类和源文件。例如:
<structure name="Example Project"> <group name="Server"> <classfiles> <fileset dir="${workspace.dir}/org.jacoco.example.server/classes"/> </classfiles> <sourcefiles> <fileset dir="${workspace.dir}/org.jacoco.example.server/src"/> </sourcefiles> </group> <group name="Client"> <classfiles> <fileset dir="${workspace.dir}/org.jacoco.example.client/classes"/> </classfiles> <sourcefiles> <fileset dir="${workspace.dir}/org.jacoco.example.client/src"/> </sourcefiles> </group> ... </structure>