2017-06-18 105 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