Jacoco代码覆盖远程机器

时间:2015-10-19 10:22:05

标签: rest maven jacoco

我试图找到这个答案但很难在任何地方找到它。我正在进行API测试,在进程中我需要从本地机器调用其余的API。本地机器包含maven项目和调用相应rest API的框架。

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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服务器以显示其结果(例如,如果您使用声纳,则在运行声纳报告器之前​​需要这些文件)。重要的是只包括您感兴趣的软件包。

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

我不会将覆盖率与性能测试结合起来 - 只是提一下。

JBoss

的stackoverflow上有一些示例