Manuel测试Sonarqube的代码覆盖范围

时间:2016-06-03 07:11:51

标签: java sonarqube code-coverage jacoco jacoco-maven-plugin

我希望使用JaCoCo获取代码覆盖率,并在经过多次手动和自动端到端测试后在Sonarqube上显示。目前,我们还可以收集在JUnit

期间触发的mvn test测试覆盖率

看起来我需要使用JVM来检测代码 Jacoco Agent。但我需要一些例子。首先,我需要知道哪里可以获得Jacoco代理商?

1 个答案:

答案 0 :(得分:3)

当你已经启动并运行maven时,请观察它的输出。 Jacoco为surefire准备了一个参数行,其中包含指向代理的指针:

[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:prepare-agent (pre-unit-test) @ examples ---
[INFO] jacoco.surefireArgLine set to -javaagent:E:\\mvnrepository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\\examples\\target\\jacoco-ut.exec,append=true,includes=org.example.*

生成的argline基本上与您为要为其生成coverage数据的JVM所使用的argline相同:

-javaagent:E:\\mvnrepository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\\example\\target\\jacoco-ut.exec,append=true,includes=org.example.*

完成手动测试后,您必须重新进行声纳分析以获取单元测试结果。请注意,argline中的dest文件必须指向maven结构中的位置。