0

我必须用wildfly设置jacoco。我在standalone.bat 中提供了java opts。

我有 jcoco ant 的报道和报告任务。

我得到的测试代码覆盖率总是 0%。我的junits扩展了仙人掌服务器测试。

如果我不扩展 servertest(cactus),我将获得 100% 的代码覆盖率,否则为 0%。

在 session.html 中我找不到类。

  1. 独立.bat 配置。 http://www.eclemma.org/jacoco/trunk/doc/agent.html
  2. jcoco 蚂蚁任务。 http://www.eclemma.org/jacoco/trunk/doc/ant.html

独立的.bat

set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS% -javaagent:{myhome.dir}/jacocoagent.jar=destfile={myhome.dir}/jacoco.exec,excludes=${jboss.home.dir}/modules/**/*,classdumpdir={myhome.dir}/dump,dumponexit=false,append=false"

蚂蚁任务:

<target name="test">
    <delete file="jacoco.exec" />
    <delete dir="${project.dir}/junit" />
    <mkdir dir="${project.dir}/junit/result" />
    <mkdir dir="${project.dir}/junit/report" />
    <jacoco:coverage>
        <junit fork="true" maxmemory="512M" printsummary="true" haltonerror="false" haltonfailure="false" showoutput="yes">
            <jvmarg line="${cactus.args}" />
            <classpath>
                <path refid="build.classpath1" />
            </classpath>
            <formatter type="xml" />
            <batchtest todir="${project.dir}/junit/result">
                <fileset dir="{JBOSS.HOME}\standalone\deployments\flexnet.ear\flexnet.war\WEB-INF\classes" includes="**/DumyTest*" excludes="${test.exclude.files}" />
            </batchtest>
        </junit>
    </jacoco:coverage>
    <junitreport tofile="TestResults.xml" todir="${project.dir}/junit/result">
        <fileset dir="${project.dir}/junit/result" />
        <report format="frames" todir="${project.dir}/junit/report" />
    </junitreport>
</target>

<target name="test-coverage-report">
    <delete dir="${project.dir}/code-coverage" />
    <jacoco:report>
        <executiondata>
            <file file="jacoco.exec" />
        </executiondata>
        <structure name="Code Coverage Results">
            <group name="FNO">
                <classfiles>
                    <fileset dir="{JBOSS.HOME}\standalone\deployments\flexnet.ear\flexnet.war\WEB-INF\classes" />
                </classfiles>
                <sourcefiles encoding="UTF-8">
                    <fileset dir="${src.dir}" />
                    <fileset dir="${testsrc.dir}" />
                </sourcefiles>
            </group>
        </structure>
        <html destdir="${project.dir}/code-coverage" />
    </jacoco:report>
</target>

关于这个问题的任何见解。请

4

1 回答 1

-1

这是类型错误。

只是添加* *帮助我解决了问题。当我查看 classdump 时,我发现了不需要的类。当我添加时,只添加了必需的类。

于 2014-06-09T22:39:34.297 回答