当前位置: 首页 > 面试题库 >

Jacoco eclipse插件和SonarQube中的代码覆盖率百分比值不同

虞祯
2023-03-14
问题内容

我有一个Java项目。根据Jacoco eclipse插件(EclEmma
Java代码覆盖率2.3.1.201405111647),该项目的代码覆盖率为22.3%。我生成.exec报告并将其提供给SonarQube,并使用声纳运行器进行分析。结果,SonarQube的Web界面上显示的代码覆盖率为20.2%。软件包级别的coverage值也不同于Jacoco的eclipse插件显示的值。那怎么可能?SonarQube是否从Jacoco生成的.exec报告中获取值?


问题答案:

Jacoco基于字节码分析。exec文件与类文件结合在一起以获取最终的代码覆盖率值。在我的情况下,问题在于,Eclipse的Java编译器生成的字节码(用于Jacoco
eclipse插件)与Javac的生成的字节码(在声纳运行程序分析期间)不同。因此,两个工具生成的代码覆盖率值是不同的。



 类似资料:
  • 我有一个Java项目。根据Jacoco eclipse插件(EclEmma Java code coverage 2.3.1.201405111647),该项目的代码覆盖率为22.3%。我生成。exec报告并将其提供给SonarQube,并使用sonar Runner运行分析。结果,在Sonarqube的web界面上显示的代码覆盖率为20.2%。包级别的复盖值也不同于Jacoco的eclipse插

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

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

  • 我正在致力于集成sonarqube在詹金斯管道。根据https://docs.sonarqube.org/pages/viewpage下面的文档,我已经用opencover使用sonar-csharp启用了sonarqube上的代码覆盖。action?pageid=6389770我还使用了分支插件。当我用/d:sonar.branch.name和/d:sonar.branch.target启动so

  • 索纳库贝: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/

  • 我正在分析一个经过单元测试和Cobertura覆盖的Java项目。报告了xml。我正在使用SonarQube 4.1.1和最新的SonarRunner。我已经成功地将Cobertura覆盖率结果导入到Sonar 3.2和Ant analyzer,但在这个新版本中,我遇到了问题。在新的声纳分析执行(通过Jenkins)中,我在日志中没有看到它会启动任何Cobertura引擎或任何东西。我在Runne