2017-06-18 82 views
0

所以这里是要点...Jacoco agent - no output

我使用docker-compose。我的应用程序只是一个REST服务(spring boot w/embedded tomcat)的集合,所以基本上我坚持测试端点。每当我希望用测试来构建项目时(这些都在一个单独的模块中),我使用gradle和gradle docker-compose插件。会发生什么是在编译后的完整构建期间,docker-compose gradle插件启动所有服务,等待应用程序容器启动并健康,并执行一堆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

destfile=...dumponexit=false在一起意味着文件不会在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是默认设置。

+0

啊,是的,我通过github上的jacoco资源。我认为最好的选择是在运行tcpserver模式的代理时拉取exec数据。 – Xeperis