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

集成声纳与本地Teamcity代码覆盖(Java)

程天佑
2023-03-14

声纳没有接收IntelliJidea/Jacoco覆盖报告生成的代码覆盖报告。

这是我试图让声纳接收jacoco报告的一个样本

JacocoSensor:找不到JaCoCo报告:/export/.../buildagent2/work/.../.teamcity/coverage_jacoco/JaCoCo.exec

声纳:
此组件没有覆盖范围详细信息。

共有1个答案

关胜
2023-03-14

问题在于,TeamCity jacoco runner将输出文件放置在一个临时文件位置,当作为Maven/Ant构建的一部分运行时,sonar插件或sonar无法找到该位置。“.TeamCity”位于发布的工件存储区中,而不是构建区域,并且在发布之前,jacoco输出似乎位于一个随机命名的目录中。

另一种选择是关闭teamcity jacoco runner,并通过maven或ant构建本身触发覆盖和声纳扫描。通过在Administration->Java->Jacoco设置中放置正确的位置(相对于构建或模块根),可以将Sonar配置为查找结果,这将使您的覆盖范围进入Sonar。

要将复盖率报告添加回teamcity中,您需要在构建常规设置中添加一个工件,该工件将报告html文件收集到一个coverage.zip文件中。然后,您将在构建结果中获得一个代码覆盖率选项卡。(如果你有两个,那么你仍然在运行teamcity覆盖跑步机。)

    null

对于多模块构建,你有不止一个报告,我不能找到一种方法让这些进入团队城市--尽管它们在声纳中看起来很好。有一个jacoco合并目标可能会有所帮助,但我没有成功--我怀疑它会扰乱声纳视野。

 类似资料:
  • 我使用jacoco来获取代码覆盖率指标,并使用声纳qube以及它来可视化它。 Jacoco拥有多个“子”覆盖范围 行 方法 分支 类 指示 但如果我们查看sonarqube,它只显示了一个“覆盖”信息。 sonarqube指的是上述5个覆盖范围中的哪一个?

  • 我正在尝试在Android Studio中使用Gradle为一个新的空Android项目获得代码覆盖率。 我设法让声纳工作,但我似乎不能解决代码覆盖。(以前从未做过类似的事情) 我看过JaCoCo,但它与Android不兼容。科伯图拉也是如此。艾玛似乎还没和格雷迪一起工作。 我正在使用Gradle 1.11、Android Studio 0.5.1和Sonar Runner 2.3

  • 我正在使用Jacoco插件使用jenkins获得代码覆盖率。我能够看到代码覆盖率。当我尝试使用相同的jacoco.exec文件来生成声纳代码覆盖率时,它显示:由于没有类文件,无法对项目覆盖率进行JaCoCo分析。我使用以下声纳属性: 我正在使用SonarQube 5.3

  • 有人知道是否有可能(以及如何)在Postman集成测试执行中生成代码覆盖率吗? 我们有基于Postman的集成测试,并通过Windows shell命令在Jenkins上执行。令人沮丧的是,我们不知道如何生成代码覆盖报告并将其发布到SonarQube中。 提前万分感谢!

  • null 我知道这远不是理想的情况...它更像是一个中间步骤,而我们试图改进一个几乎没有测试的遗留项目... 我的问题是:在Sonar的Module1仪表板中执行集成测试,最好的方法是什么? 最初,我倾向于将module1-itest中的代码移到module1,并使用Failsafe插件和与Jacoco的集成来运行它们。这样,Module1将混合使用JUnit单元测试和TestNG集成测试,每组测

  • 大家好,我正试图与下面的声纳整合,这是我面临的错误 未能在项目xxxxx上执行goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar(default-cli):无法从插件'icode'注册扩展名fr.cnes.sonar.plugin.icode.check.icodeSensor:javax/xml/bind/