Junit 如何筛选一些要分析的代码覆盖率方法

Junit 如何筛选一些要分析的代码覆盖率方法,junit,code-coverage,jacoco,jacoco-maven-plugin,Junit,Code Coverage,Jacoco,Jacoco Maven Plugin,我使用Jacoco作为pom.xml中配置的代码覆盖率插件。我只想测试和分析我的类文件中的几个方法的覆盖率,并且只想相应地显示它们的覆盖率百分比。但当jacoco分析整个文件时,覆盖率较低,尽管相关方法覆盖率为100%。 在jacoco中,有没有什么方法可以在不更改源文件代码的情况下排除某些正在分析的方法 这是不可能的。Jacoco允许在类级别包含和排除,但不允许在方法级别包含和排除 有一些支持在方法级别进行过滤,如前所述。这允许Jacoco忽略Java编译器生成的无关字节码。以类似的方式;Ja

我使用Jacoco作为pom.xml中配置的代码覆盖率插件。我只想测试和分析我的类文件中的几个方法的覆盖率,并且只想相应地显示它们的覆盖率百分比。但当jacoco分析整个文件时,覆盖率较低,尽管相关方法覆盖率为100%。
在jacoco中,有没有什么方法可以在不更改源文件代码的情况下排除某些正在分析的方法

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

有一些支持在方法级别进行过滤,如前所述。这允许Jacoco忽略Java编译器生成的无关字节码。以类似的方式;Jacoco还可以忽略一些基于注释生成的代码(例如)

尽管目前没有办法告诉Jacoco(例如,通过Maven插件)忽略特定方法,但与此相关的Jacoco存在一些公开问题:

您可能会投票支持这些方法和/或针对您的具体需求提出另一个问题。

不清楚为什么您“只想测试和分析我的类文件中的几个方法的覆盖率,并且只想相应地显示它们的覆盖率百分比。”

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

我们正在将旧的体系结构代码迁移到web服务体系结构,并且从旧的书面服务方法迁移到web服务,到目前为止,只有少数方法转换为web服务,其他方法也在迁移过程中。因此,我们只想检查那些被视为web服务的方法的覆盖率。这些web服务方法使用的是部分覆盖的旧服务代码,因为上面提到的事实是,这些旧服务方法中只有少数是通过web服务公开的。我相信父子方法不仅在测试覆盖率方面,而且在迁移过程也是如此。您将清楚地区分新旧代码。