Jacoco tcpserver reset dump



我正在尝试使用jacoco代理远程获取覆盖数据,并在服务器上重置执行信息reset=true;

jacoco Java agent on server:

JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:applications/jacoco/lib/jacocoagent.jar=output=tcpserver,address=*,port=36320"

本地机器上的Ant任务:

<project name="Ant Report Build with JaCoCo" default="get_data" xmlns:jacoco="antlib:org.jacoco.ant">
    <property name="result.exec.file" value="test_data.exec"/>
    <property name="server" value="my-server.com" />
    <property name="port" value ="36320" />
    <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
      <classpath path="jacocolibjacocoant.jar"/>
    </taskdef>   

    <target name="get_data">
      <jacoco:dump address="${server}" port="${port}" reset="true" append="false" destfile="${result.exec.file}"/>
    </target>
</project>

我的问题是在我得到转储后重置执行信息。如果我在服务器上执行一些操作,然后两次调用我的ant目标"get_data",删除test_data。在执行之间的exec文件,我得到相同的覆盖率数据。所以reset=true似乎不起作用。

我如何使Jacoco重置覆盖数据信息后,我转储它?

我遇到了同样的问题。但是请仔细观察,您会发现您拥有的两个覆盖数据转储并不相同。它们在大小上是一样的,但当你"区别"它们时就不一样了。

当您调用"reset"时,很容易假设jacocoagent将清除所有执行数据,并且您的下一次转储的大小预计为0,但事实并非如此。相反,jacocoagent将所有执行数据重置为"未执行",接下来转储的将是一个标记所有未执行的文件,而不是空文件。jacoco。exec文件大小与装入JVM的类的数量有关。

似乎您已经丢失了dump="true",并悄悄地用ant删除了文件。应该是

<jacoco:dump address="${server}" port="${port}" dump="true" reset="true" destfile="${result.exec.file}" append="false"/>
<delete file="${result.exec.file}"/>

更多信息在这里

相关内容

  • 没有找到相关文章

最新更新