gpt4 book ai didi

java - 将coverage.ec文件上传到Android Sonar

转载 作者:行者123 更新时间:2023-12-02 12:51:47 24 4
gpt4 key购买 nike

我有一个coverage.ec 文件,它会生成并显示我的espresso UI 测试的代码覆盖率。我还在 gradle 中配置了 Sonar ,如下所示:

sonarqube {
properties {
property "sonar.projectName", "Android 9"
property "sonar.projectKey", "org.sonarqube:Android9"

property "sonar.host.url", "http://localhost:9000"
property "sonar.username", "admin"
property "sonar.password", "password"

property "sonar.projectVersion", "5"

property "sonar.java.source", "7"

property "sonar.android.lint.report", "build/outputs/lint-results.xml"

property "sonar.sourceEncoding","UTF-8"
property "sonar.sources","src/main/java"
property "sonar.exclusions","build/**,**/*.png"
property "sonar.test.exclusions", ""
property "sonar.binaries", "build/classes"
property "sonar.jacoco.reportPath","build/jacoco/testDevDebugUnitTest.exec"
property "sonar.tests", "src/androidTest/java"
//property "sonar.import_unknown_files", true

//property "sonar.android.lint.report", "./build/outputs/lint-results.xml"

property "sonar.jacoco.itReportPath", "build/outputs/code-coverage/connected/flavors/NORMAL/*.ec"
}}

有问题吗? Sonar 中根本没有显示任何代码覆盖率——什么都没有,0%,这真的很奇怪,过去一周我在互联网上搜寻也没有在网上找到任何东西。有人知道发生了什么事吗?

最佳答案

您必须指定测试结果才能让 Sonar 处理您的覆盖范围。另请注意,sonar.jacoco.itReportPath 已过时。现在,所有覆盖文件都使用 sonar.jacoco.reportPaths 属性指定。

您也不必手动指定源目录。请参阅 androidTest 属性。

这是一个同时具有测试(如 Robolectric)和 Android 测试(如 Espresso)的项目的配置。

afterEvaluate {
def flavor = "DEV"
def variant = "devDebug"
def testTaskName = "test${variant.capitalize()}UnitTest"

// output both android and host test results to single directory
def junitReportsPath = "build/outputs/androidTest-results/connected/flavors/$flavor/"
project.tasks[testTaskName].reports.junitXml.destination = junitReportsPath

sonarqube {
// you don't have to specify these manually as android sonar plugin handles it
// as soon as you specify androidVariant
// property "sonar.sources","src/main/java"
// property "sonar.tests", "src/androidTest/java"
androidVariant variant
properties {
property "sonar.jacoco.reportPaths",
["build/jacoco/${testTaskName}.exec",
"build/outputs/code-coverage/connected/flavors/$flavor/*.ec"]

property "sonar.junit.reportsPath", junitReportsPath

// other settings
// ...
}
}
}

关于java - 将coverage.ec文件上传到Android Sonar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578320/

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