Sonar Web 服务 - 代码覆盖率指标
Posted
技术标签:
【中文标题】Sonar Web 服务 - 代码覆盖率指标【英文标题】:Sonar Web Service - Code Coverage Metrics 【发布时间】: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 失败但第二个有效吗?
【问题讨论】:
【参考方案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 中提取信息以确定项目和模块键。谢谢以上是关于Sonar Web 服务 - 代码覆盖率指标的主要内容,如果未能解决你的问题,请参考以下文章