Jacoco与WebSphere集成

时间:2014-12-02 08:34:08

标签: jacoco

我正在尝试将Jacoco与Websphere集成以通过手动测试获得代码覆盖率。 我已将JVM参数设置如下

![-javaagent:C:\Shankara\Software\jacoco-0.7.2.201409121644\lib\jacocoagent.jar=destfile=C:\Shankara\Software\jacoco.exec,append=true,includes=com.*][1]

我能够成功获得exec文件但是覆盖范围仍然是红色。请紧急帮助我

1 个答案:

答案 0 :(得分:1)

您是否停止了目标JVM实例。

在您执行此操作之前,您将无法通过运行非单元测试获取代码覆盖率数据(源主代码)。

试试这个:
1.然后附上jacocoagent.jar并传递params(就像你已经完成的那样) 2.运行测试(手动/自动化,将执行/覆盖主要源代码),然后 3.然后停止目标JVM实例/会话(即WebSphere) 你会发现雅可可文件的大小会比你以前得到的多一点。

使用此jacoco exec(在停止目标JVM实例后获得)运行jacocoTestReport以获取最终代码覆盖率%。

注意:如果您不想停止运行应用程序/ web服务的目标JVM会话/实例,请阅读Jacoco文档,因为还有一种方法可以执行此操作。

见这里:http://www.eclemma.org/jacoco/trunk/doc/agent.html 特别是参数:

dumponexit 如果设置为true,则会在VM关闭时写入覆盖数据。只有在指定了任一文件或输出为tcpserver / tcpclient并且在VM终止时打开了连接时,才能写入转储。真

输出用于写入覆盖数据的输出方法。有效选项包括:

file: At VM termination execution data is written to the file specified in the destfile attribute.
tcpserver: The agent listens for incoming connections on the TCP port specified by the address and port attribute. Execution data is written to this TCP connection.
tcpclient: At startup the agent connects to the TCP port specified by the address and port attribute. Execution data is written to this TCP connection.
none: Do not produce any output.

请参阅下面的安全注意事项。

地址输出方法为tcpserver时要绑定的IP地址或主机名,或者输出方法为tcpclient时要连接的IP地址或主机名。在tcpserver模式下,值“*”使代理接受任何本地地址上的连接。环回接口

port 当输出方法是tcpserver时绑定到的端口,或者当输出方法是tcpclient时连接到的端口。在tcpserver模式下,端口必须可用,这意味着如果多个JaCoCo代理应在同一台机器上运行,则必须指定不同的端口。