我的 Web 应用程序在 tomcat 上运行,并且在单独的项目中,我有调用我的应用程序的所有 api 的测试用例,现在我想检查代码覆盖率,在自动化测试套件的 api 调用期间覆盖。
我遵循的步骤:
但覆盖率仍然为零,我错过了什么请建议
你可以试试这个吗,
JAVA_OPTS="$JAVA_OPTS -javaagent:/tmp/jars/jacocoagent.jar=includes=*,destfile=/tmp/jars/jacoco.exec,append=true
我在使用 Grails/Groovy/Gradle 时也遇到同样的问题。 据我了解,将 Java 配置为在运行时使用 JaCoCo 代理进行检测,因此您不需要在构建的 (pom.xml) 中包含依赖项。
检查 jacoco.exec 文件的内容(我假设它不为空)。对于该运行命令:
java -jar <jacoccli.jar-path> execinfo <jacoco.exec-path>
。
这将列出 JaCoCo 收集的覆盖范围信息的所有类别。就我而言,只有 apache
包。所以它检查的是 Tomcat 本身的一小部分而不是 webapp 的覆盖范围,它正在运行。