Jacoco代理 - 没有输出

时间:2017-06-18 20:38:20

标签: java spring docker gradle jacoco

所以这就是要点......

我使用docker-compose。我的应用程序只是REST服务的集合(具有嵌入式tomcat的spring boot),所以基本上我坚持测试端点。每当我希望用测试构建项目时(在一个完整的单独模块中),我使用gradle和gradle docker-compose插件。发生的事情是,在编译完成后,docker-compose gradle插件会启动所有服务,等待app容器启动并运行正常并执行一堆http请求(测试)。

所以我的想法是 - 在完整的CI构建期间,使用jacoco代理在docker容器中启动应用程序,这将在执行所有http测试时生成覆盖数据。但文件输出始终为空。

我将以下JAVA_OPTS添加到应用容器中 -javaagent:\jacoco\jacocoagent.jar=destfile=\tmp\jacoco.exec,includes=my.company.*,append=true,dumponexit=false

创建\tmp\jacoco.exec但它保持在0字节。 我使用的Jacoco版本是0.7.9。我做错了什么或者我不明白jacoco代理人的全部意义吗?

1 个答案:

答案 0 :(得分:1)

dumponexit=falsedestfile=...一起表示该文件不会在VM关闭(http://www.jacoco.org/jacoco/trunk/doc/agent.html)上写入,而只会在API请求(http://www.jacoco.org/jacoco/trunk/doc/api/org/jacoco/agent/rt/IAgent.html#dump(boolean))上写入,这不是您的意图,我想。因此,将dumponexit设置为true,或者根本不指定它,因为true是默认值。