如何过滤一些方法来分析代码覆盖率

时间:2017-08-16 06:08:01

标签: junit code-coverage jacoco jacoco-maven-plugin

我使用Jacoco作为我的pom.xml中配置的代码覆盖插件。我想测试和分析我的类文件中只有少数几种方法的覆盖率,并且只想相应地显示覆盖百分比。但是,随着jacoco分析整个文件,它减少了覆盖率,尽管有关方法100%覆盖。 在没有更改源文件代码的情况下,在jacoco中是否有任何方法可以排除一些被分析的方法?

2 个答案:

答案 0 :(得分:2)

那是不可能的。 Jacoco允许在 class 级别包含和排除,但不允许在方法级别。

对方法级别的过滤有一些支持,讨论here。这允许Jacoco忽略Java编译器生成的无关字节代码。在类似的说明; Jacoco也可以在注释的基础上忽略一些生成的代码(例如code generated by Lombok

虽然目前无法告诉Jacoco(例如通过Maven插件)忽略特定方法,但有一些与此相关的公开Jacoco问题:

您可以投票支持这些和/或根据您的具体要求提出其他问题。

答案 1 :(得分:0)

目前尚不清楚为什么你“想要测试和分析我的类文件中只有少数方法的覆盖率,并且只想为它们显示相应的覆盖百分比。”

  • 你可能有一些与主类无关的代码吗?在这种情况下考虑设计。一种可能的解决方案是将您的类拆分为父类和子类或主类和一些实用程序。
  • 可能是2个开发人员正在使用同一个班级,每个人都希望只显示自己的结果?
  • 可能有些代码难以测试?试试嘲弄的方式。