Don*_*mmy 15 java junit code-coverage gradle jacoco
我有一些Java代码,我想从代码覆盖中排除.我该怎么做?我希望能够添加注释.有没有办法配置或扩展jacoco(在gradle中使用)来使用它?
例:
public class Something
{
@ExcludeFromCodeCoverage
public void someMethod() {}
}
Run Code Online (Sandbox Code Playgroud)
小智 16
JaCoCo 0.8.2 版本中添加了新功能,它过滤掉了用@Generated 注释的类和方法。有关详细信息,请参阅以下文档:
在生成报告(GitHub #731)期间过滤掉保留策略为运行时或类且简单名称为 Generated 的注释的类和方法。
小智 12
按照 @mohamed-anees-a 方法,我得到了这个 kotlin 版本:
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION)
annotation class ExcludeFromJacocoGeneratedReport
Run Code Online (Sandbox Code Playgroud)
Mar*_*lte 11
太;博士
使用Lombok@lombok.Generated
的注释。
解释
Jacoco 与Lombok集成。默认情况下,Lombok 生成的代码不包括在 Jacoco 覆盖范围内(请参阅Jacoco 变更日志中的版本 0.8.0)。您可能会滥用lombok.Generated
您的方法,因为它被排除在覆盖率报告之外。
Moh*_*s A 10
由于对此没有直接答案,因此做了一些研究并遇到了这个 PR。
https://github.com/jacoco/jacoco/pull/822/files
private static boolean matches(final String annotation) {
final String name = annotation
.substring(Math.max(annotation.lastIndexOf('/'),
annotation.lastIndexOf('$')) + 1);
return name.contains("Generated")
}
Run Code Online (Sandbox Code Playgroud)
您可以创建名称包含“Generated”的任何注释。我在我的代码库中创建了以下内容以排除包含在 Jacoco 报告中的方法。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ExcludeFromJacocoGeneratedReport {}
Run Code Online (Sandbox Code Playgroud)
在您的方法中使用此注释以将其免于覆盖,如下所示。
public class Something
{
@ExcludeFromJacocoGeneratedReport
public void someMethod() {}
}
Run Code Online (Sandbox Code Playgroud)
我有一些Java代码想要从代码覆盖率中排除。我该怎么做?我希望能够添加注释。有没有一种方法可以配置或扩展jacoco(在gradle中使用)以使用此功能?
到今天为止,JaCoCo(0.7.9
)的最新发行版本中没有此类功能。只能排除整个课程。
在页面https://github.com/jacoco/jacoco/wiki/FilteringOptions#annotation-based-filtering(专用于开发人员)上,这被记录为将来版本的想法。
JaCoCo官方文档包含有关如何获取最新的未发布版本以及下一版本的未发布更改列表的信息-http : //www.jacoco.org/jacoco/trunk/doc/changes.html,其中包括各种过滤器,其中包括过滤由Lombok和Groovy生成的方法,lombok.Generated
并groovy.transform.Generated
分别用注释和标记。您可能会滥用此功能,但出于多种原因,我不建议您这样做。
小智 5
您可以设置lombok.addLombokGeneratedAnnotation = true
为lombok.config
在项目的根目录。之后,Jacoco 将忽略所有 Lombok 生成的代码。
在 Project Lombok 文档中查看更多信息:https : //projectlombok.org/features/configuration
归档时间: |
|
查看次数: |
14446 次 |
最近记录: |