当报表任务中包含jar时,Jcoco不会生成报表



我在构建上运行JUnits。构建包括产品的jar。我们希望在jar中的类上运行代码覆盖。我们有未混淆的罐子。我们有如下脚本

<target name="codeCoverageReport">
    <jacoco:report>
    <executiondata>
        <file file="${codecoverage.file}"/>
    </executiondata>
    <structure name="eQ Adapter And Plug-ins Code Coverage Report ">
    <classfiles>
        <fileset dir="${classes}">
            <include name="**/*.class" />
        </fileset>
        <fileset dir="${pluginJars}">
            <include name="*.jar" />
        </fileset>
    </classfiles>
    <sourcefiles encoding="UTF-8">
        <fileset dir="${sourceDrive}/src"/>
    </sourcefiles>
    </structure>
    <html destdir="${codecoverage.reports}"/>
    <csv destfile="${codecoverage.reports}/report.csv"/>
    <xml destfile="${codecoverage.reports}/report.xml"/>
    </jacoco:report>
</target>

    <jacoco:coverage enabled="true" destfile="${codecoverage.file}" append="true" includes="**/*.class" >
        <junit printsummary="yes" failureproperty="junit.failed" haltonfailure="no" fork="true" forkmode="once" maxmemory="2048m">
            <classpath refid="test.classpath" />
            <formatter type="xml"  />
            <batchtest todir="${reports.dir}/tmp">
                <fileset dir="${src}">
                    <include name="**/${testFileSet}" />
                </fileset>
            </batchtest>
        </junit> 
    </jacoco:coverage>

我们也试过

<target name="codeCoverageReport">
        <jacoco:report>
        <executiondata>
            <file file="${codecoverage.file}"/>
        </executiondata>
        <structure name="eQ Adapter And Plug-ins Code Coverage Report ">
        <classfiles>
            <fileset dir="${classes}">
                <include name="**/*.class" />
            </fileset>
        </classfiles>
        <sourcefiles encoding="UTF-8">
            <fileset dir="${sourceDrive}/src"/>
            <fileset dir="${pluginJars}">
                <include name="*.jar" />
            </fileset>
        </sourcefiles>
        </structure>
        <html destdir="${codecoverage.reports}"/>
        <csv destfile="${codecoverage.reports}/report.csv"/>
        <xml destfile="${codecoverage.reports}/report.xml"/>
        </jacoco:report>
    </target>

但是Ant显示如下错误

错误在创建报告

如果没有Jar路径,它可以正常工作。但是它不包括来自jar的类。

当您在报告中包含jar文件时,我注意到您正在使用sourcefiles标记

<fileset dir="${pluginJars}">
    <include name="*.jar" />
</fileset>

我建议你试试这个

<fileset file="${pluginJars}/*.jar"/>

我遇到了同样的问题,并设法通过将目录attribute更改为file来获得一切工作。

相关内容

  • 没有找到相关文章