为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Gradle 时如何忽略 Jacoco 中的内部静态类

使用 Gradle 时如何忽略 Jacoco 中的内部静态类

喵喔喔 2024-01-05 16:56:24
我知道如何忽略在自己的.java文件中定义的类,但不知道如何忽略内部类。例如,我有 A 类和嵌套的 B 类:class A {    ...    static class B {        ...    }}jacocoTestReport当我想使用jacoco.gradle此语法忽略文件中的它们时,不断检查覆盖范围:(setFrom部分适用于 Gradle 的更高版本,其中classDirectories = files()已弃用)apply plugin: "jacoco"jacoco {    toolVersion = "0.8.3"}jacocoTestReport {    afterEvaluate {        classDirectories.setFrom(files(classDirectories.files.collect {            fileTree(dir: it,                    exclude: [                            "com/example/xxx/*",                            "com/example/xxx/A\$.*B*"                    ])        }))    }}($必须转义,而在帖子中则不需要,因为当我使用Gradle时他使用Maven)那么,我怎样才能忽略这个内部类呢?
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

经过多次尝试和失败,我终于找到了答案。似乎命名模式遵循已编译的 Java 类命名约定,如另一篇文章中提到的,并且不需要.外部类和内部类之间的命名。所以,它应该是这样的A$B。而且,可能会有一些.class干扰(我的猜测),所以我添加了A$B*(对于其他普通类,*不需要最后一个)。

所以就变成了:

"com/example/xxx/A\$B*"

我希望有一些关于这种排除模式的文档。目前还没有。


查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信