【发布时间】:2022-01-06 02:11:09
【问题描述】:
我为我的 android 项目编写了本地和集成测试用例。使用Kotlin(1.4.21)Robolectric(4.5.1)、sonar(2.7.1)、Jacoco(maven插件0.8.2)
问题是Sonar和Jacoco没有考虑androidTest(集成测试用例)写在Kotlin的代码覆盖率
然而,声纳显示了其他测试用例的正确覆盖率 -
java 单元测试用例 -> 工作
koltin 单元测试用例 -> 工作
java 集成测试用例 -> 工作
kotlin 集成测试用例 -> 不工作
虽然我检查了我为声纳设置的路径,但都是正确的。
properties['sonar.java.binaries'] = files("${buildDir}/intermediates/javac/universalDebug/classes")
properties["sonar.java.binaries"] += files("${buildDir}/tmp/kotlin-classes/universalDebug/")
properties['sonar.java.test.binaries'] = files("${buildDir}/intermediates/javac/universalDebugAndroidTest/classes")
properties['sonar.java.test.binaries'] += files("${buildDir}/tmp/kotlin-classes/universalDebugAndroidTest/")
我已经解决了其他 stackoverflow 问题,但没有发现同样的问题。因此,我无法找出声纳没有显示我用 Kotlin 编写的集成测试用例的覆盖率的问题。
提前致谢
更新
在 adroidTest 文件夹中 > 我还有 2 个包。
MyApplicationTest> src> com > pkgA
> pkgB
它正在考虑 pkgA 中存在的测试文件,而不是其他文件。我最近创建了这个 pkgB 这可能是什么原因?我是否在某处更新了某些路径?
【问题讨论】:
标签: android kotlin sonarqube integration-testing jacoco