假设主模块 A 和子模块是 B 和 C。在我的 gradle 文件中,我只在下面添加了 Sonar 和 jacoco 的配置。
apply plugin: 'spring-boot'
apply plugin: 'org.sonarqube'
app vly plugin: 'jacoco'
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
}
sonarqube {
properties {
property "sonar.projectName", "A"
property "sonar.projectKey", "org.codehaus.sonar:A"
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoc /test.exec"
property "sonar.jacoco.itReportPath", "${project.buildDir}/jacoco/jacoco-it.exec"
}
}
当我运行 gradle 任务时:./gradlew clean :A:sonarqube -Pprod
构建成功但显示以下信息
INFO - JaCoCoItSensor: JaCoCo IT report not found: /../../../../A/build/jacoco/jacoco-it.exec
集成测试运行良好。但只显示主模块的代码覆盖率。我想要的是,当我运行集成测试时,子模块代码也包含在代码覆盖率报告中。
最佳答案
您可能想看看 sonarqube gradle plugin excluding jacoco integration tests
好像没有这个属性
关于gradle - 如何在使用gradle的多模块系统中使用sonar + jacoco生成用于集成测试的代码覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37916210/