簡體   English   中英

多個 Maven 模塊聲納代碼覆蓋率在聲納 qube 上顯示為零

[英]multiple maven modules sonar code coverage is showing zero % on sonar qube

我正在使用 6.7.6 和 maven 3.3.9 的聲納版本我在我的 Jenkins 中的配置低於它的生成 jacoco 報告和測試用例報告,如預期的路徑。但我在 sonarqube 中看到 0% 的代碼覆蓋率,任何人都可以在這里幫助我嗎?

sonar.language=java
sonar.java.coveragePlugin=jacoco
sonar.junit.reportPaths=ABC-1/target/surefire-reports, ABC-2/target/surefire-reports, ABC-3/target/surefire-reports, ABC-4/target/surefire-reports, ABC-5/target/surefire-reports, ABC-6/target/surefire-reports
sonar.jacoco.reportPaths=ABC-1/target/jacoco.exec, ABC-2/target/jacoco.exe, ABC-3/target/jacoco.exec, ABC-4/target/jacoco.exec, ABC-5/target/surefire-reports, ABC-6/target/jacoco.exec
sonar.projectKey=abc_Parent
sonar.projectName=abc_Parent
sonar.projectVersion=${POM_VERSION}
sonar.java.binaries=ABC-1/target/classes, ABC-2/target/classes, ABC-3/target/classes, ABC-4/target/classes, ABC-5/target/classes, ABC-6/target/classes
sonar.test.exclusions=**/src/test/**
sonar.sources=.

目標

-Dmaven.test.failure.ignore=true -U clean org.jacoco:jacoco-maven-plugin:1.1.1:prepare-agent test

父POM

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>***</version>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>***</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

如您所知, SonarQube 不做分析,只導入結果。

您真的應該升級到 SQ LTS 8.9.x,這意味着先升級6.7.7 ,然后是7.9.6 ,然后是8.9.x

你的覆蓋問題是你必須jacoco:prepare-agent ,然后運行測試( -DskipTests=false ),然后產生一個jacoco:report ,或者因為你是多模塊, jacoco:report-aggregate最后, sonar:sonar

然后 sonar-jacoco 插件可以從sonar.coverage.jacoco.xmlReportPaths位置獲取結果。

如果未定義“'sonar.coverage.jacoco.xmlReportPaths”,則默認位置為:

"target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml"

SonarJava 分析器 V 5.12。 不推薦使用 JaCoCo 的二進制格式( .exec文件) 在 SonarQube 8.2 中刪除了對 .exec 格式的JaCoCo 覆蓋率報告的支持

根據sonar-jacoco-plugin-1.1的發行說明,它現在具有“支持 sonar.coverage.jacoco.xmlReportPaths 中的通配符”

SonarQube 解釋了為什么數字可能不符合預期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM