【问题标题】:Using Sonar in Ant only for code coverage with JaCoCo (no static analysis)在 Ant 中使用 Sonar 仅用于 JaCoCo 的代码覆盖(无静态分析)
【发布时间】:2016-09-02 00:27:55
【问题描述】:

我在 Jenkins 中创建了一个作业,它针对我的存储库中的所有项目执行 sonnar-runner。该作业独立于代码覆盖率,每天运行几次。

另一方面,我希望代码覆盖发生在构建时(使用 JaCoCo)并使用 Ant 将报告导入 Sonar。

我设置了我的环境并将 JaCoCo 和 Sonar 插件添加到 Ant lib 目录中。当我运行 Ant 目标时,我可以在本地以 XML 和 HTML 格式查看 JaCoCo 的结果。

我只想将这些结果上传到远程 SonarQube 实例。但是,在设置 Sonar 属性并将 <sonar:sonar> 添加到我的 build.xml 后,我意识到 Sonar 似乎正在对我的项目进行静态分析。

如何将 Ant 设置为只运行项目的代码覆盖率?

【问题讨论】:

    标签: java ant sonarqube jacoco


    【解决方案1】:

    您不能只运行完整分析的一小部分。

    想象一下这是可能的:假设每小时运行一次“仅覆盖”作业来更新我的项目的覆盖范围。

    • 早上 8 点,我开始了一个具有 6 个 LoC 和 50% 覆盖率的项目。
    • 上午 9 点,我的项目有“6 LoC”和 20% 的覆盖率
    • 上午 10 点:“6 Loc”和 10% 的覆盖率。

    有人删除了测试吗?或者添加新的、未发现的 LoC?

    我无法知道,因为我的部分分析使 SonarQube 项目处于糟糕的状态。

    这就是为什么无法只运行部分分析的原因。

    【讨论】:

    • 感谢 G. Ann 的回答。默认情况下就是这样是有道理的:-)
    • 嗨,安。我还有一个问题:JaCoCo 运行大约需要 1 分钟。 sonnar-runner 也需要大约一分钟。对于一个小项目,Ant 中声纳的“完整”执行大约需要 10 分钟。知道为什么会这样吗?
    • 不@Phil,我不知道。您可能想在 Google 群组 (groups.google.com/forum/?pli=1#!forum/sonarqube) 上发起一个话题
    猜你喜欢
    • 2014-02-16
    • 2012-06-11
    • 1970-01-01
    • 2012-12-22
    • 2016-11-08
    • 2018-05-31
    • 2012-09-29
    • 2012-10-16
    • 2011-07-26
    相关资源
    最近更新 更多