gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:19:12 26 4
gpt4 key购买 nike

我知道如何忽略在自己的 .java 文件中定义的类,但不知道如何忽略内部类。

例如,我有类 A 和嵌套类 B:

class A {
...

static class B {
...
}
}
当我想使用此语法忽略 jacoco.gradle 文件中的覆盖率时,

jacocoTestReport 会不断检查覆盖范围(从这篇文章中了解到: How to ignore inner/nested classes with JaCoCo? ):(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)

那么,我怎样才能忽略这个内部类呢?

最佳答案

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

所以就变成了:

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

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

关于java - 使用 Gradle 时如何忽略 Jacoco 中的内部静态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58604955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com