Jacoco CLI报告可以通过类文件进行过滤

时间:2018-03-19 12:44:29

标签: jacoco

是否可以仅报告jar文件中的1个或选择性类,例如,* .exec是为应用程序记录的,但仅需要1个类的报告,现在在--classfiles我们可以指定一个像/path/trial.jar这样的JAR文件,但不能像/path/trial.jar/pkg1/class那样,是否有一些选项可以做到。

1 个答案:

答案 0 :(得分:0)

递归扫描<path>中的{p> --classfiles <path>,并且所有找到的类文件都用于生成报告,因此它不仅可以指向JAR文件,还可以指向包含JAR文件和类文件的目录,以及可以指向单个类文件。

例如,在编译Example.java

之后
class Example {

  class Inner {
  }

  public static void main(String[] args) {
  }

}

进入目录classes

javac Example.java -d classes

命令ls classes

可以看到两个类文件
'Example$Inner.class'   Example.class

生成jacoco.exec

之后
java -cp classes -javaagent:jacoco-0.8.0/lib/jacocoagent.jar Example

可以使用命令

为整个classes目录生成报告
java -jar jacoco-0.8.0/lib/jacococli.jar report jacoco.exec --classfiles classes

将分析两个类文件

[INFO] Loading execution data file /tmp/example/jacoco.exec.
[INFO] Analyzing 2 classes.

使用命令

为单个Example.class生成报告
java -jar jacoco-0.8.0/lib/jacococli.jar report jacoco.exec --classfiles classes/Example.class

只会分析此课程

[INFO] Loading execution data file /tmp/example/jacoco.exec.
[INFO] Analyzing 1 classes.

因此,您可以将JAR文件解压缩到目录中,并单独分析您想要的内容。