Jacoco蚂蚁任务--没有jacoco.exec输出。

问题描述 投票:8回答:3

我将我的Ant任务配置为

<target name="test" depends="init">
    <jacoco:coverage destfile="target/jacoco.exec">
        <junit printsummary="yes" haltonfailure="yes" fork="yes" forkmode="once">
            <classpath refid="my_project.path"/>
            <formatter type="plain"/>
            <formatter type="xml"/>
            <batchtest fork="false" todir="target/test-reports">
                <fileset dir="test">
                    <include name="**/*Test.java"/>
                </fileset>
            </batchtest>
        </junit>
    </jacoco:coverage>
</target>

这就产生了预期的junit结果。然而, target/jacoco.exec 永远不会被创建。我在 ant test report 任务执行。

测试。[jacoco:coverage] 增强junit的覆盖率。

...

[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0,009 sec

报告:[jacoco:report] 加载执行数据文件 homeusrWorkspacesmy_projecttargetjacoco.exe [jacoco:report] 加载执行数据文件homeusrWorkspacesmy_projecttargetjacoco.exe。

BUILD FAILED homeusrWorkspacesmy_projectbuild.xml:73: 无法读取执行数据文件 homeusrWorkspacesmy_projecttargetjacoco.exec。

总时间:14秒

似乎我缺少了什么,看不出具体是什么。

java ant jacoco
3个回答
11
投票

我找到了原因。虽然很笨,但是没有日志显示错误。

batchtest fork="true" todir="targettest-reports"

在 batchtest 中,fork 参数被设置为 false。将其设置为 "true",会产生预期的 jacoco.exec.


1
投票

运行 report 任务本身是不够的。您必须配置并运行一个 coverage 蚂蚁任务,以使覆盖数据被记录到。jacoco.exec 文件。见 此处


0
投票

面对同样的问题,对我来说,我的junit不合适。此处

© www.soinside.com 2019 - 2024. All rights reserved.