是否可以使用 SonarQube 分析 Android Kotlin 代码覆盖率?

Don*_*Don 5 android code-coverage jenkins kotlin sonarqube

我已经配置了一个 Jenkins 项目,在 gradle 构建和测试之后,它使用以下规范调用“执行 SonarQube 扫描仪”:

sonar.projectKey=my_project_key
sonar.projectName=my_Android
sonar.projectVersion=1.0
sonar.sources=app/src
sonar.java.binaries=app/build/intermediates/classes/debug
sonar.coverage.exclusions=app/src/test/**,app/src/androidTest/**,app/src/main/res/**
Run Code Online (Sandbox Code Playgroud)

这成功地运行了 SonarQube 并向 IPaddress:9000 生成了一份报告,该报告测量了:错误、漏洞、债务、代码异味和重复,就像它应该的那样。然而,这份报告中没有任何地方定义测试涵盖的代码。SonarQube 成功运行 Kotlin 插件并查看代码库本身,但未确定覆盖率。使用 Kotlin Android 时是否可以使用 SonarQube 收集这些信息?

我确实尝试安装 Jacoco,但没有看到有关 SonarQube 结果的任何新数据。

Don*_*Don 0

在发布问题后不久,我就放弃了使用 Sonar 获取 Kotlin 代码覆盖率的尝试。

然而,我已经获得了许多使用 Java 和 JaCoCo 的项目。

回顾一下我的sonar.properties文件,我可能可以通过将以下行添加到 sonar.properties 文件来引用 JaCoCo 任务的输出来解决此问题:

sonar.jacoco.reportPath=build/jacoco/test.exec
Run Code Online (Sandbox Code Playgroud)

我不确定这是否适用于 Kotlin,但它有助于 Java 覆盖并解决了我的用例。