使用Ant的Jacobo覆盖和报告任务



希望我已经发布了关于这个构建文件的所有必要细节。覆盖任务运行良好,所有测试用例都在运行。

还生成了Jacobo.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.exc文件。

相关内容

  • 没有找到相关文章

最新更新