Jacoco API代码覆盖率集成测试

时间:2019-09-03 06:50:38

标签: jacoco jacoco-maven-plugin

Jacoco是否提供API集成测试的代码覆盖率?也就是说,我有一个在本地运行的应用程序实例,并且有集成测试,在其中运行了我正在运行的应用程序实例提供的api。在这种情况下,当集成测试在哪里运行时,我可以使用Jacoco来获取我正在运行的应用程序实例的多少行吗?

我已经尝试过Jacoco的maven插件的prepare-agent-integration和report-integration目标。但是它们给出的代码覆盖率为0。我认为这是因为jacoco只测量当前运行实例的代码覆盖率,而不是api被命中的实例。

1 个答案:

答案 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