我们使用非Java测试。他们每个人都执行我们用Java编写的工具。我正在尝试使用Eclemma创建测试的覆盖率报告。让我们从一个测试开始。我们用build.xml
编译代码。我想以某种方式为每个测试创建一份覆盖率报告,然后将它们合并为一个主要报告。我发现可以使用Jacoco has CMD interface来合并那些报告。但是我不知道如何使用覆盖程序包运行该工具?
我对Java覆盖的整个概念有些困惑。在Python和Perl等动态语言中,我只使用coverage模块执行代码,该模块会创建coverage报告。
我们用来执行工具的命令:
gandu -vm /usr/pkgs/java/1.6.0.25-64/bin/java -configuration /.ganduData -data /.ganduData -configuration /ganduInternalConfig --session_id 1582722179
我应该添加一些选项吗?
[C0中的版本:
build.xml
我应该添加以下命令吗?
<target name="pde-build" depends="clean, init">
<java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-buildfile" />
<arg value="${eclipseLocation}/plugins/org.eclipse.pde.build_${pdeBuildPluginVersion}/scripts/productBuild/productBuild.xml" />
<arg value="-Dtimestamp=${timestamp}" />
<classpath>
<pathelement location="${eclipseLocation}/plugins/org.eclipse.equinox.launcher_${equinoxLauncherPluginVersion}.jar" />
</classpath>
</java>
</target>
您需要使用Jacoco的即时检测功能来记录执行范围。
<arg value="-autVMArgs" />
<arg value="-Xmx800m;-XX:MaxPermSize=600M;-javaagent:${jacoco-agent-path}=destfile=${jacoco-report},append=true"/>
即时检测通过将Java代理附加到服务器进程来扫描字节码。
有几个步骤
如果使用声纳,则可以将声纳的最后步骤卸载。