如何解决Sonarcloud的覆盖范围似乎正在计算测试代码行
我正在使用Sonarcloud分析Android应用程序的代码库,但是当我添加很多测试代码行时,我注意到总体覆盖范围上有些奇怪的效果。
例如,今天早上,总覆盖率是41.6%,然后我添加了一个测试类(有很多行),但是代码库没有其他更改,然后总测试覆盖率下降到了41.3,甚至尽管我实际测试的课程覆盖率有所提高。
除非我缺少任何内容,否则我只能看到的解释是Sonarcloud涵盖的范围也包括测试类中的无代码行。
据我所知,我排除了sonarcloud配置中的测试类,请参阅为此设置的gradle:
sonarqube {
properties {
property "sonar.projectVersion",android.defaultConfig.versionName
property "sonar.projectName","Oppia Core app"
property "sonar.host.url","https://sonarcloud.io"
property "sonar.sources","src/main/java"
property "sonar.binaries","build/intermediates/app_classes/normalDebug"
property "sonar.java.binaries","build/intermediates/app_classes/normalDebug"
property "sonar.tests","src/test/java,src/androidTest/java"
property "sonar.java.test.binaries","build/intermediates/app_classes/normalDebug"
property "sonar.coverage.jacoco.xmlReportPaths","build/reports/coverage/normal/debug/report.xml"
property "sonar.exclusions","app/src/test/java/**/*,app/src/androidTest/java/**/*," +
"src/test/java/**/*,src/androidTest/**/*,src/test/java,src/androidTest/java"
property "sonar.test.exclusions",src/androidTest/java"
property "sonar.coverage.exclusions",src/androidTest/java"
def sonarqubePropsFile = rootProject.file('sonarqube.properties')
if (sonarqubePropsFile.canRead()) {
def sonarqubeProps = new Properties()
sonarqubeProps.load(new FileInputStream(sonarqubePropsFile))
property "sonar.projectKey",sonarqubeProps["sonar.projectKey"]
property "sonar.organization",sonarqubeProps["sonar.organization"]
property "sonar.login",sonarqubeProps["sonar.login"]
}
}
}
我想知道是否需要为sonar.coverage.jacoco添加一个额外的属性,以确保jacoco不计算测试代码行?
其他信息:这是一个开源项目,因此您可以在以下位置查看完整的应用程序和测试代码:https://github.com/DigitalCampus/oppia-mobile-android,而sonarcloud分析位于:https://sonarcloud.io/dashboard?id=org.digitalcampus.mobile.learning
对于我所注意的任何帮助和/或解释,将不胜感激,
干杯, 亚历克斯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。