Jacoco是否提供API集成测试的代码覆盖率?也就是说,我有一个在本地运行的应用程序实例,并且有集成测试,在其中运行了我正在运行的应用程序实例提供的api。在这种情况下,当集成测试在哪里运行时,我可以使用Jacoco来获取我正在运行的应用程序实例的多少行吗?
我已经尝试过Jacoco的maven插件的prepare-agent-integration和report-integration目标。但是它们给出的代码覆盖率为0。我认为这是因为jacoco只测量当前运行实例的代码覆盖率,而不是api被命中的实例。
答案 0 :(得分:0)
我忘了在运行服务时运行javaagent。使用javaagent和output = tcpserver运行jar文件,然后使用Jacoco:dump转储执行文件,并使用Jacoco:report创建报告即可解决此问题。
java -javaagent:<path_to_agent>/org.jacoco.agent-0.7.9-runtime.jar=output=tcpserver,address=127.0.0.1 -jar myapp.jar
mvn clean verify -Pintegration-tests
mvn jacoco:report -DdataFile=./target/jacoco.exec
mvn jacoco:dump -Djacoco.address=localhost -Djacoco.destFile=./service/target/jacoco.exec