使用 Ant 的 Jacoco 覆盖和报告任务
Jacoco Coverage and Report Task with Ant
希望我发布了有关此构建文件的所有必要详细信息。覆盖任务运行良好,所有测试用例都运行。
Jacoco.exec 也生成但报告任务失败 stating Unable to read execution data file C:/path/to/file/jacoco.exec
。
无法弄清楚我做错了什么。任何补充或替代方式?
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="${JACOCO.HOME}/lib/jacocoant.jar"/>
</taskdef>
<target name="runtest" depends="compile">
<jacoco:coverage destfile="${testdest}/jacoco.exec" xmlns:jacoco="antlib:org.jacoco.ant" exclclassloader="sun.reflect.DelegatingClassLoader:javassist.Loader" >
<junit haltonfailure="yes" fork="true" forkmode="once" printsummary="on">
<classpath refid="project.classpath" />
<classpath location="${testdest}" />
<formatter type="xml"/>
<batchtest fork="yes">
<fileset dir="${testdest}" />
</batchtest>
</junit>
</jacoco:coverage>
<jacoco:report xmlns:jacoco="antlib:org.jacoco.ant">
<executiondata>
<file file="${testdest}/jacoco.exec" />
</executiondata>
<structure name="Jacoco">
<classfiles>
<fileset dir="${dest}" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src}" />
</sourcefiles>
</structure>
<html destdir="${testsrc}/report" />
</jacoco:report>
上述代码运行良好。出了什么问题,我尝试 运行 构建文件太多次,因为现有的 jacoco.exec 已损坏(我认为是由于 Junit 测试失败)并且它没有被执行。我再次删除了 jacoco.exec 文件和 运行 文件,生成了新的 jacoco.exec 文件,该文件执行得很好。
希望我发布了有关此构建文件的所有必要详细信息。覆盖任务运行良好,所有测试用例都运行。
Jacoco.exec 也生成但报告任务失败 stating Unable to read execution data file C:/path/to/file/jacoco.exec
。
无法弄清楚我做错了什么。任何补充或替代方式?
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
<classpath path="${JACOCO.HOME}/lib/jacocoant.jar"/>
</taskdef>
<target name="runtest" depends="compile">
<jacoco:coverage destfile="${testdest}/jacoco.exec" xmlns:jacoco="antlib:org.jacoco.ant" exclclassloader="sun.reflect.DelegatingClassLoader:javassist.Loader" >
<junit haltonfailure="yes" fork="true" forkmode="once" printsummary="on">
<classpath refid="project.classpath" />
<classpath location="${testdest}" />
<formatter type="xml"/>
<batchtest fork="yes">
<fileset dir="${testdest}" />
</batchtest>
</junit>
</jacoco:coverage>
<jacoco:report xmlns:jacoco="antlib:org.jacoco.ant">
<executiondata>
<file file="${testdest}/jacoco.exec" />
</executiondata>
<structure name="Jacoco">
<classfiles>
<fileset dir="${dest}" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src}" />
</sourcefiles>
</structure>
<html destdir="${testsrc}/report" />
</jacoco:report>
上述代码运行良好。出了什么问题,我尝试 运行 构建文件太多次,因为现有的 jacoco.exec 已损坏(我认为是由于 Junit 测试失败)并且它没有被执行。我再次删除了 jacoco.exec 文件和 运行 文件,生成了新的 jacoco.exec 文件,该文件执行得很好。