【问题标题】:Sonar Web Service - Code Coverage MetricsSonar Web 服务 - 代码覆盖率指标
【发布时间】:2015-06-14 18:01:02
【问题描述】:

我正在尝试通过Sonar Web Service 文档提取声纳代码覆盖率指标。

Sonarqube API single class test coverage 建议我应该将此模式用于我的目标类名称

https://[hostname]/api/resources?resource=com.a.b.c.d.om:[module-name]:com.a.b.c.d.e.mobile.XYZActionHandler&metrics=coverage,branch_coverage

但我发现只有在资源名称中使用 java 源路径才有效

https://[hostname]/api/resources?resource=com.a.b.c.d.om:[module-name]:src/main/java/com/a/b/c/d/e/actions/mobile/XYZActionHandler.java&metrics=coverage,branch_coverage

有人可以解释为什么第一个 URL 失败但第二个有效吗?

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    这取决于您使用的 SonarQube 版本。

    在最近的版本中(至少自上一个 LTS 以来,可能远至 4.2),Java 组件的键确实是它的路径,而在旧版本中,它是它的完全限定名称(package.Class)。

    【讨论】:

    • 使用 v4.2。有没有办法通过java类名查询key?
    • 我不这么认为,但您应该能够使用 Java 类名构建新密钥,具体取决于您的项目结构。例如,在标准的 Maven 项目中,Java 文件密钥将始终为 project.key:module.key:src/main/java/some/package/MyClass.java
    • true - 但这意味着我必须从 pom.xml 中提取信息以确定项目和模块键。谢谢
    猜你喜欢
    • 2012-06-30
    • 2012-06-11
    • 2012-12-22
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2016-11-08
    相关资源
    最近更新 更多