Jacoco,正如我所知道的java中的所有其他分析功能,取决于java代理/工具。
Java工具只能在加载类时影响字节码。
我想知道是否有可能用Jacoco检测未使用的类?显然,可能存在“死”的类,而这些类又不会被ClassLoader加载。
答案 0 :(得分:1)
在执行测试运行后生成coverage输出(HTML报告等)时,JaCoCo会在运行时类路径中扫描尚未在测试执行期间加载的其他类,因此它们也可以进行检测并包含在输出
我在自己的代码覆盖率工具(JMockit Coverage)中实现了相同的机制,该工具也依赖于java.lang.instrument
。这是让所有相关课程都进行覆盖的唯一方法。
答案 1 :(得分:0)
是的,如果你还没有使用Jacoco,可能更容易指定-verbose:class
。
答案 2 :(得分:0)
我刚刚运行了一个测试:我创建了一个名为Delete.java的文件,它永远不会被任何其他方法调用。生成的Jacoco报告显示具有0%覆盖率的Delete类。