当前位置: 首页 > 知识库问答 >
问题:

SonarQube 8.2分析显示0代码覆盖率

唐增
2023-03-14
  • 索纳库贝:8.2。0.32929
  • 声纳扫描仪:3.0。3.778
  • 雅科科:0.8。4
  • jdk:1.8
  • mvn:3.6。三,

你想达到什么目标

我试图通过使用sonar scanner实现代码覆盖率,但在sonarqube仪表板中获得代码覆盖率0。

到目前为止,您是如何实现这一目标的

我使用https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven/maven-multimodule

创建了声纳项目。具有以下配置的基本目录中的属性文件

sonar.projectKey=org.sonarqube.sonarscanner-maven-aggregate
sonar.projectName=Sonar Scanner Maven Aggregate
sonar.projectVersion=1.0
sonar.language=java
sonar.java.binaries=.

如果我使用mvn声纳:声纳工作。但与声纳扫描仪它不工作。

它适用于sonarqube 7.8。

如有任何见解,将不胜感激。

共有2个答案

皮嘉德
2023-03-14

如果将项目设置为多模块,则必须将每个模块的覆盖率报告提供给作为构建一部分运行的最后一个模块(可能是集成测试模块)

https://community.sonarsource.com/t/coverage-test-data-importing-jacoco-coverage-report-in-xml-format/12151

https://community.sonarsource.com/t/in-sonarqube-8-2-code-coverage-is-always-showing-0/21666

https://docs.sonarqube.org/latest/analysis/coverage/

https://stackoverflow.com/a/15535970

遵循Sonar团队在这个示例项目中提到的步骤对我有所帮助https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven/maven-multimodule

由于您已经遵循了这些步骤,我缺少的一件事是聚合报告没有在最后一个模块中生成,而我是在集成测试模块之前的一个模块中生成的。但在我们的案例中还有一个部署模块

洪黎昕
2023-03-14

我解决了这个问题。

在运行sonar scanner命令时,我添加了XMLReportPath作为定义属性,如sonar scanner-Dsonar。新闻报道杰科科。xmlReportPaths=tests/target/site/jacoco-aggregate/jacoco。xml/测试/目标/现场/jacoco骨料/jacoco。xml

 类似资料:
  • 问题内容: 我有一个Jenkins项目,对我的NodeJS项目进行SonarQube分析。我添加了对项目的依赖。在Jenkins构建配置中,首先运行一个shell脚本: 这将安装依赖项,运行测试并生成代码覆盖率报告,并生成cobertura-coverage.xml文件。 在shell脚本之后,我运行具有以下属性的代码覆盖: Jenkins作业通过SonarQube仪表板成功运行,该仪表板描述了项

  • Jenkins作业成功地运行了一个SonarQube仪表板,它描述了项目的各种内容,如代码行、技术债务、问题等等。但是单元测试的代码覆盖率并没有显示在SonarQube仪表板上。我确保仪表板有单元测试小部件。 我验证了工作区确实有文件。还检查了构建控制台日志,没有发现bug。我之前也尝试过使用LCOV格式推送代码覆盖率: 即使在Jenkins工作区中生成了覆盖率报告,该报告也不会发布到SonarQ

  • 声纳投射物。特性 sonar.projectname=test sonar.language=js sonar.sources=src sonar.tests=src/app/client/src/app/sonar.javascript.lcov.reportpaths=src/app/client/src/app/sonar.javascript.lcov.reportpaths=src/ap

  • Jacoco插件在jenkins报告中显示0%的覆盖率,但当我在本地系统中运行相同的命令时,Jacoco会正确生成报告。我正在使用以下命令: mvn-s xyz/settings.xml-f xyz/xyz/pom.xml清洁安装org.jacoco 所以当我在jenkins中运行这个命令时,它会生成错误的报告。我已经检查了它在工作区目录对应的项目在詹金斯。它显示每个项目的0%覆盖率。但是当我在本

  • 我在声纳中的代码覆盖率显示为0%,这不是真的,因为我有单元测试。 格拉德尔 当我打开inside然后我可以看到成功的单元测试。 我在Jenkins环境中运行作为

  •   计算机科学中所说的代码覆盖率是一种用于衡量特定测试套件对程序源代码测试程度的指标。拥有高代码覆盖率的程序相较于低代码低概率的程序而言测试的更加彻底、包含软件 bug 的可能性更低。     --Wikipedia 在本章中,你将学到 PHPUnit 中与代码覆盖率相关的一切功能。通过这部分功能,能够了解在测试运行过程中执行了生产代码的哪些部分。它使用了 PHP_CodeCoverage 组件,