gpt4 book ai didi

java - Gradle Jacoco 来源包括测试

转载 作者:行者123 更新时间:2023-12-03 03:27:36 24 4
gpt4 key购买 nike

我有一个多模块项目和一些 TestNG 测试,涵盖了它们。

我的 gradle 配置看起来像:

subprojects { subproject ->
jacocoTestReport {
additionalSourceDirs = files(sourceSets.main.allSource.srcDirs)
classDirectories = files(sourceSets.main.output)
sourceDirectories = files(sourceSets.main.allSource.srcDirs)

reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
}

test {
useTestNG()
}

test.finalizedBy(project.tasks.jacocoTestReport)
}

在报告中,我希望看到基于主包源(由 sourceSets.main 提供)的代码覆盖率,但也包括测试包中的所有 java 类。所以覆盖结果无效。

如何修复配置?

最佳答案

我所有的测试都有一个命名模式,所以我可以通过正则表达式排除它们:

jacocoTestReport {
additionalSourceDirs = files(sourceSets.main.allSource.srcDirs)
classDirectories = files(sourceSets.main.output)
sourceDirectories = files(sourceSets.main.allSource.srcDirs)

afterEvaluate {
classDirectories = files(classDirectories.files.collect {
fileTree(dir: it, exclude: 'path/to/test/*Test.java')
})
}

reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
}

关于java - Gradle Jacoco 来源包括测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48523808/

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