【问题标题】:SonarQube: including a subset of test coverage classes in reportSonarQube:在报告中包括测试覆盖率类的子集
【发布时间】:2015-04-18 05:43:50
【问题描述】:

我让 Jenkins 运行 JUnit 测试并使用 Cobertura 创建代码覆盖率。这被导入到 SonarQube,它显示所有 JUnit 通过/失败以及代码覆盖率。

除了 SonarQube 中的完整代码覆盖率图报告之外,我还想包含一个时间线图,该时间线图仅包含覆盖率报告中 Java 类的子集。没有找到这个过滤器。我找到了仅适用于完整 Sonar 构建的过滤器,但这需要新的 Jenkins 作业和 SonarQube 项目...

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    我不确定这是否是您要查找的内容,但您可以尝试以下方法。这不是最好的方法,但至少是一种可能性。您仍然不能手动选择要显示的项目子集,但这是有充分理由的(名称可以更改,另一个项目具有相同的名称,等等...)

    缩写:

    您可以配置过滤器/度量并使用基于过滤器的图表和您的项目仪表板。

    长格式:

    转到顶部的“测量”。现在添加一些条件,例如:

    "Components": Projects; "Components of": MyTestApplication; Key contains: myTest.
    

    搜索并保存过滤器。完成后,您可以返回需要额外统计信息的项目仪表板。单击右上角的“配置小部件”。现在搜索关键字“过滤器”。我没有检查它们,但相信所有这些结果都能够使用您之前创建的过滤器。选择例如“过滤动态图表”并进行配置。

    【讨论】:

    • 几乎是我们需要的。我们现在已经创建了一个度量来过滤我们想要的覆盖范围的 java 包。我们还可以在仪表板上列出这些。但是,我们仍然需要 1) 基于过滤文件(不是所有文件)的总覆盖率,以及 2) 显示覆盖率如何随时间演变的图表。 “Timeline”图表只能添加Metrics,不能添加Measures。
    • 我不认为有办法这样做,至少我不知道。但是您是否对其他来源的任何统计数据感兴趣?我的意思是:您可以在 Jenkins 中为源设置输入/排除过滤器,因此只有您需要的源被分析。但是,如果您仍然对总行数等感兴趣,这不是一个好主意。
    • 是的,你最终的 cmets 是阻止我从分析中排除文件的原因。我当然可以为此创建新的 Sonar 构建,但如果一个 Sonar 构建可用于源代码,那就太棒了。声纳是一个很酷的工具,但我发现它不是很动态和可配置的。
    • 参考sonarqube.org/resources/join-our-community,您可以尝试向 user@sonar.codehaus.org 发送邮件,看看他们是否可以帮助您。随着一些开发人员也收到该邮件,他们最终会在未来的更新中添加一些可能性。您也可以直接转到此线程,以便他们可以阅读您已经尝试过的内容;)
    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2015-12-14
    • 2019-10-23
    • 1970-01-01
    • 2017-12-09
    • 2018-10-18
    • 2015-03-13
    相关资源
    最近更新 更多