Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jacoco ant任务-无Jacoco.exec输出_Java_Ant_Jacoco - Fatal编程技术网

Java Jacoco ant任务-无Jacoco.exec输出

Java Jacoco ant任务-无Jacoco.exec输出,java,ant,jacoco,Java,Ant,Jacoco,我将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"/&

我将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>
报告:[jacoco:report]正在加载执行数据文件 /home/usr/workspace/my_project/target/jacoco.exec

生成失败/home/usr/workspace/my_project/BUILD.xml:73:无法读取 执行数据文件/home/usr/workspace/my_project/target/jacoco.exec

总时间:14秒


好像我遗漏了什么,看不清具体是什么。

单独运行
报告
任务是不够的。您必须配置并运行
coverage
Ant任务,以便将覆盖率数据记录到
jacoco.exec
文件中。请参见

我找到了原因。这很愚蠢,但没有记录来指示错误:

batchtestfork=“true”todir=“目标/测试报告”


在batchtest中,fork参数设置为false。将其设置回“true”将生成预期的jacoco。exec

面临同样的问题,对我来说,我的junit不合适。
报告
之前运行的测试任务中,按照链接

我正在调用
覆盖率
。这不足以创建输出文件吗?抱歉,您正在运行覆盖率任务。给人的印象是你正在执行报告任务。显然,必须再次查看您的配置。我的apologies@Olivier.Roger从文档中可以看出:嵌套任务始终必须声明fork=“true”,否则覆盖率任务无法记录覆盖率信息,将失败。“fork=yes”是否等效?我已经很久没有和AntYou一起工作了。你说得对,应该是fork=“true”,但我尝试了很多东西,我在后退时犯了一个错误。显然,这是等效的,因为错误表明测试没有分叉。我将其切换回fork=“true”,结果中看不到任何更改。谢谢,确实是fork参数导致了问题,但batchtest中的参数,而不是junit;)您或某人能否详细说明哪些价值观对jacoco有效,以及原因(有相同的问题)
...

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