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

intellij中的SonarQube在运行分析时不获取单元测试分支覆盖

张高义
2023-03-14

你知道为什么会这样吗?

共有1个答案

唐麒
2023-03-14

这是一个已知的当前限制(实际上适用于IntelliJ和Eclipse插件):本地分析不能自动执行单元测试,因此它们不能获得覆盖结果并给出正确的信息。

原因是本地分析只是“标准”分析,不会将数据推送到服务器。根据定义,SonarQube分析不执行任何外部工具,它们只在需要时重用以前生成的报告。

如果是基于Maven的项目,您有一个解决方案:在启动本地分析之前,只需运行MVN clean org.jacoco:jacoco-maven-plugin:prepare-agent install-dmaven.test.failure.ignore=true。这应该在默认位置生成承保范围报告,因此应该可以工作。

 类似资料:
  • 我可以在声纳获得单位测试覆盖率通过使用Jacoco工具的代码覆盖率,并使用其报告在声纳属性文件为'sonar.jacoco.report路径=.../Reports/report.exec'。如何通过使用RAD的默认插件获得SONAR中的单元测试覆盖率,该插件以. coveragedata、. Analysis和. html格式生成报告?

  • 主要内容:如何计算分支覆盖范围?分支覆盖技术用于覆盖控制流图的所有分支。它至少涵盖决策点的每个条件的所有可能结果(真和假)。分支覆盖技术是一种白盒测试技术,可确保每个决策点的每个分支都必须执行。 然而,分支覆盖技术和决策覆盖技术非常相似,但两者之间存在关键差异。决策覆盖技术涵盖每个决策点的所有分支,而分支测试涵盖代码的每个决策点的所有分支。 换句话说,分支覆盖遵循决策点和分支覆盖边缘。许多不同的指标可用于查找分支覆盖范围和决策覆

  • 尝试查看声纳上的单元测试代码覆盖率。我正在使用Jacoco代码覆盖率,并且当我在eclipse中执行我的代码时,能够获得我的项目的代码覆盖率。但是,在 Jenkins 中运行时,我收到以下消息和警告,因为没有要运行的测试,没有要编译的源代码 我可以在声纳上报告一些代码覆盖率,但对于单元测试,它会显示。声纳如何显示单元测试的覆盖率?还有,我如何消除警告消息? 附加我的肯定和雅各插件以及杰本金斯控制台

  • [在这里输入图像描述][1][在这里输入图像描述][2]我知道很多人都有类似的问题。我展示了很多答案,尝试了在声纳网站上给出的示例代码。那个样品工作得很好。我还显示以下链接 maven 3.0.5 请帮我解决这个问题。 下面是父模块pom文件 我真的觉得这是jacoco或Sonarqube的bug。可能它不兼容Java8之类的东西。我几乎什么都试过了。sonar java插件2.5.1不推荐使用许

  • 问题内容: 在我正在从事的项目中,我们有通过Selenium编写的功能测试。该应用程序随每个功能发行版进行功能更改。 有没有一种工具/机制可以跟踪自动化功能测试中的差距,以便至少手动测试人员可以关注这些领域? 注意:我们并未执行FTDD,因此即使我们确保较高的单元测试覆盖率,功能测试覆盖率也可能会很差。我们使用NCover检查单元测试范围。 问题答案: 据我所知,至少有两个(商业但便宜)的工具可让

  • 我对使用Intellij是新手。我只有一个委屈,那就是编译器。我更喜欢Eclipse编译器编译项目并跳过包含错误的类的方式。 您可能会说修复您的项目,但我正在处理的项目中,人们已经提交了带有错误的代码。我怎样才能绕过这个问题,我看到设置中有一个使用Eclipse编译器的选项,但这没有什么区别/我不知道跳过错误的参数。