小编xma*_*usv的帖子

SonarQube + Jacoco - 无法读取 Koin 模块测试覆盖率

我在尝试将 Jacoco 代码覆盖率导入声纳时遇到了一些问题,所有 Koin 模块都会发生这种情况。

声纳版本: 7.5.0.20127

Jacoco 版本: 0.8.2

错误:

       ERROR: Cannot import coverage information for file 'mmaccount/src/main/java/br/com/project/mmaccount/di/AccountModule.kt', coverage data is invalid. Error: {}
java.lang.IllegalStateException: Line 84 is out of range in the file mmaccount/src/main/java/br/com/project/mmaccount/di/AccountModule.kt (lines: 83)
    at org.sonar.api.internal.google.common.base.Preconditions.checkState(Preconditions.java:197)
    at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.validateLine(DefaultCoverage.java:93)
    at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.lineHits(DefaultCoverage.java:81)
Run Code Online (Sandbox Code Playgroud)

正因为如此,我的模块类的覆盖率为 0%,但如果我查看 HTML 报告,它似乎工作正常:

Jacoco HTML 报告

这仅发生在我的 Koin 模块中,我不确定问题是 Koin 的工作方式还是 Jacoco 和 Kotlin 之间的某些不兼容

jacoco kotlin sonarqube sonarqube-scan koin

3
推荐指数
1
解决办法
1003
查看次数

标签 统计

jacoco ×1

koin ×1

kotlin ×1

sonarqube ×1

sonarqube-scan ×1