SonarQube + Jacoco - 无法读取孝允模块的测试覆盖

问题描述 投票:2回答:1

尝试导入Jacoco代码覆盖声纳,这是发生在所有的孝允模块时,我有一些问题。

声纳版本: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)

也正因为如此,我模块类是与邻覆盖率为0%,但如果我看HTML报告似乎很好地工作:

Jacoco HTML report

这是我的孝允模块仅发生的事情,我不知道,如果问题是孝允的工作原理或Jacoco和科特林之间的一些不兼容

kotlin sonarqube jacoco sonarqube-scan koin
1个回答
4
投票

我有同样的问题,它似乎是生成的报告,关于此问题的详细信息时jacoco的问题:https://github.com/jacoco/jacoco/issues/763

解决办法:升级到0.8.3,这是发行固定这个问题。

随着jacoco的新版本,现在我的类,对声纳零覆盖现在有真正的覆盖范围。

© www.soinside.com 2019 - 2024. All rights reserved.