当前位置: 首页 > 知识库问答 >
问题:

用于远程机器的 Jacoco 代码覆盖

朱天逸
2023-03-14

我试图找到这个答案,但几乎找不到。我正在进行API测试,在此过程中,我需要从本地计算机调用其余的API。本地机器包含maven项目和调用相应rest API的框架。

我需要检查远程Rest API的代码覆盖率,并根据代码覆盖率形成报告。请帮忙,怎么做?

注意:我发现这个链接很有用,但是它没有详细说明该怎么做?

http://eclemma.org/jacoco/trunk/doc/agent.html

共有1个答案

穆承运
2023-03-14

您可能会做一些文件复制 - 具体取决于您运行测试的方式。

JaCoCo作为java代理运行。因此,您通常会添加javaagent参数,如您链接到应用程序服务器的启动脚本的文档中所述。

-javaagent:[yourpath/]jacocoagent.jar=[option1]=[value1],[option2]=[value2]

所以它看起来像:

java -javaagent: -jar myjar.jar

使用tomcat,您可以将“-javaagent”部分添加到JAVA_OPTS或CATALINA_OPTS环境变量中。其他服务器应类似。

这将创建Jacoco*. exec文件。你需要将这些复制回你的构建或CI服务器以显示其结果(例如,如果你使用声纳,你需要这些文件在运行声纳报告器之前)。只包含你感兴趣的包很重要。

您还可以为每个测试风格创建一个 jaco.exec 文件(用于单元测试,用于集成测试,用于应用程序测试)。

我不会把覆盖率和性能测试混为一谈——顺便提一下。

有一些关于 JBoss 的堆栈溢出的示例

 类似资料:
  • 我正在使用maven和jacoco maven插件来测试覆盖率报告 我需要将Jacoco代理配置为在远程机器(Linux)上,在该机器上运行运行集成测试的脚本 我要怎么做? 这是我尝试的:

  • 我正在尝试使用JaCoCo-javaagent传递VM参数来获得代码覆盖率 -Java agent:/test/jaco co/jaco agent . jar = dest file =/test/jaco co/jaco co . exec,includes=com。*,append=true 我能在jacoco中获得一些价值。执行文件,但无法获取覆盖率报告。我怎样才能把jacoco转化成。执

  • 我的代码运行在具有单独JVM的单独虚拟机上。我想在此虚拟机上以tcpserver模式设置JaCoCo代理以收集覆盖率数据。然后,我将在我的maven项目中以tcpclient模式设置JaCoCo代理,以连接到上面提到的VM并获取覆盖率数据。 问题是代理不收集任何覆盖数据。在中创建了覆盖率数据文件,但该文件为空。 下面是代理选项:-Java agent:/usr/xx/plugins/org . j

  • 我在声纳中的代码覆盖率显示为0%,这不是真的,因为我有单元测试。 格拉德尔 当我打开inside然后我可以看到成功的单元测试。 我在Jenkins环境中运行作为

  • 我执行Jacoco单元测试代码覆盖,它显示了单元测试中需要覆盖的所有代码。 如何避免测试覆盖显示ui代码,比如onCreate()、onAttach()中的代码(fragment)。我不想要视图的代码覆盖率,但jacoco也给出了这一点。我有办法消除它吗?

  • 我试图从jacoco exec文件(在远程服务器上生成)生成jacoco代码覆盖率报告,该文件已复制到Jenkins工作区。 我的要求是在远程位置启动服务器,然后对远程服务器执行场景测试,并获得代码覆盖率。 为此,我将jacoco代理放在服务器端,然后将jacoco代理作为JVM选项连接,并在服务器端执行检测。这将在服务器启动时在服务器端自动生成一个空的jacoco exec文件。然后我执行测试并