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

SonarQube多模块代码覆盖

徐文彬
2023-03-14

我有一个多模块项目,我似乎无法在Sonarqube上获得准确的单元测试代码覆盖率报告。我使用buildr和JaCoCo生成测试覆盖率。文件继承类似于下面。

项目--module1----reports----Jacoco------Jacoco.cov(jacoco执行文件,以前用作.exec)--module2--reports----Jacoco(生成的HTML、CSV和XML报表文件)----JUnit(JUnit XML报表)

此时,不存在针对Module2的单元测试。我认为问题在于SonarQube上的总体覆盖只反映了模块1,而完全忽略了模块2。这使得覆盖率看起来比整个项目的真实情况要高。有人对此有什么想法吗?谢谢你的意见。

共有1个答案

梁丘赞
2023-03-14

如果我得到你的问题正确,你正在寻找强制覆盖率为0%,当没有覆盖率文件生成。您必须为该行为设置正确的参数:

sonar.jacoco.reportmissing.force.zero=true

有关更多详细信息,请参见文档:http://docs.sonarqube.org/display/plug/usage+of+Jacoco+with+Java+plugin

 类似资料:
  • 我有一个多模块项目和一个家长pom。xml及其两个模块。项目jar和项目。战争所有测试用例都在项目中。罐子当我运行mvn声纳时。母舰pom上的声纳目标,jacoco。未生成exec,代码覆盖率为空。我在父pom中具有以下属性。 请帮忙。我使用的是Sonarqube 4.2。

  • 问题内容: 我有一个由几个模块组成的项目。 我正在尝试使用SonarQube进行分析。 我在每个模块中都包含了Sonar Maven插件作为依赖项: 然后我使用以下命令运行Maven: mvn clean验证声纳:声纳 Maven成功完成,并且可以看到Sonar分析,但是当我打开Sonar UI时,模块在项目中不可见。 然而… 如果我从单个模块目录运行Maven命令,则在项目中可见。 感觉我缺少一

  • 我有一个maven多模块项目。 所有测试都在称为tests/的单个模块中,所有代码都在单独的模块中。 有没有办法让我得到代码覆盖率?

  • 我有这样的项目结构: 模块应用程序 模块-登录 模块注册 问题:我有上面喜欢Android项目的结构,能够生成jaco代码覆盖率报告,并且可以用于声纳仪表板。我面临的espresso测试问题,它只显示模块应用程序的代码覆盖率,而不显示其他模块的代码覆盖率。Espresso测试正在运行用例流,如注册,然后从其他两个模块登录和调用类,但其他两个模块的覆盖率始终为0%。 < li >我想了解espres

  • 目前,我可以让sonarqube使用mvn sonar:sonar扫描一些文件,但我永远无法获得代码覆盖率。我浏览了所有文档,并将jacoco包括在我的pom中,并试图设置项目属性以反映代码的结构。我以前没有真正使用过maven,所以这个任务有点难。有人能为我提供一个“像我五岁一样解释”的解决方案吗。我也有多个模块。

  • 我有一个类似这样的项目结构: -应用 --模块 2 //库模块 --模块3 //库模块 我正在为我的多模块Android项目编写仪器测试用例,其中包含jaco代码覆盖范围。如果我从“app”模块执行检测测试用例,则仅为“app”模块类生成代码覆盖率。 因此,为了获得“模块2”的代码覆盖率 当我在非应用程序模块中执行插装测试用例,无法启动主活动,插装期间应用程序未启动,测试用例失败时,会出现问题。