首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个maven模块声纳代码覆盖率在声纳qube上显示为零。

多个maven模块声纳代码覆盖率在声纳qube上显示为零。
EN

Stack Overflow用户
提问于 2021-06-28 03:20:16
回答 1查看 981关注 0票数 0

我使用的是声纳版本的6.7.6和maven 3.3.9,在我的Jenkins中,我的配置如下所示--它生成了paths.But下面的jacoco报告和测试用例报告--我在sonarqube中看到了0%的代码覆盖率,有人能在这里帮助我吗?

代码语言:javascript
复制
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=.

MavenGoal

org.jacoco:jacoco-maven-plugin:1.1.1:prepare-agent -Dmaven.test.failure.ignore=true -U清洁试验

ParentPOM

代码语言:javascript
复制
    <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>
EN

回答 1

Stack Overflow用户

发布于 2021-06-28 08:26:19

如您所知,SonarQube不做分析只是导入结果。

你真的应该从https://docs.sonarqube.org/latest/setup/upgrade-notes/到SQ 8.9.x,这意味着去https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip,然后去https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.6.zip,然后去https://www.sonarqube.org/success-download-community-edition/

您的覆盖率问题是,您必须运行jacoco:prepare-agent,然后运行测试(-DskipTests=false),然后生成jacoco:report,或者因为您是多模块、jacoco:report-aggregate,最后是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(档案)。对.exec格式JaCoCo覆盖率报告在SonarQube 8.2中被删除的支持

根据sonar-jacoco-plugin-1.1的发布说明,它现在有了“在sonar.coverage.jacoco.xmlReportPaths中支持通配符”

SonarQube解释了为什么数字可能不符合人们的期望

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68157168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档