我希望使用JaCoCo获取代码覆盖率,并在经过多次手动和自动端到端测试后在Sonarqube上显示。目前,我们还可以收集在JUnit
mvn test
测试覆盖率
看起来我需要使用JVM来检测代码 Jacoco Agent。但我需要一些例子。首先,我需要知道哪里可以获得Jacoco代理商?
答案 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结构中的位置。