gpt4 book ai didi

code-coverage - 三叶草与 Sonar

转载 作者:行者123 更新时间:2023-12-04 23:01:01 28 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7年前关闭。




Improve this question




我一直在审查静态分析工具,最近我遇到了 Atlassian Clover 和 SonarQube。从服务器的角度来看,这两种产品看起来非常相似并且几乎完全相同,但我无法在网上找到它们的良好比较。

我也一直在审查他们的 IntelliJ 插件,在这里我看到了两者之间的巨大差异。 Clover 的 IDE 集成令人惊叹,它指出了单元测试未涵盖的确切代码行。然而,SonarQube 服务器 具有此功能,但我不确定 Clover 300 美元/人的成本是否值得这种 IDE 便利。

Sonar 的插件似乎只是指出了 IDE 中的代码问题,这很好,但 IntelliJ 已经具有此功能。另外,Clover 是否在他们的插件中缺少这个,或者我只是没有看到它,因为我还没有将 Clover 插件放在服务器前面?

最后,我还看到 Sonar 可以使用 Clover 生成的报告。有人对这个有经验么? SonarQube 服务器是否通过使用这些报告充分取代了 Clover 服务器?如果没有,Sonar 缺少什么?

供引用:http://docs.codehaus.org/display/SONAR/Clover+Plugin

一些背景:正在分析的产品是一个使用 Maven 构建的 Java Web 项目。这两个工具似乎都有适当的 Maven 集成。

最佳答案

免责声明:我是 Atlassian 的 Clover 开发人员。

当然,我会尽量保持客观。

让我先强调一下 Clover 和 Sonar 之间的一个区别:

  • Clover 主要是一个代码覆盖工具。它跟踪总覆盖率和每个测试的覆盖率。除此之外,它还有一些代码指标,但它不是典型的静态代码分析工具,如 Checkstyle、FindBugs 或 PMD。
  • Sonar(在我看来)主要是一种数据聚合工具,它可以从各种工具中收集各种数据(如代码覆盖率、静态分析结果、代码指标)并在一个地方呈现。

  • 这两个工具的相似之处在于它们都可以创建丰富的报告。

    说到这里,让我来回答你的问题。

    Clover's IDE integration is amazing, pointing out exact lines of code that aren't covered by unit tests [...] but I'm not sure the $300/person cost of Clover is worth this IDE convenience.



    您必须自己回答:-) 很少有值得考虑的事情:
  • 您的开发人员如何运行单元测试 - 他们是否在提交之前在 IDE 中运行它们?你有“绿色建筑”政策吗?如果两个答案都是肯定的,那么在 IDEA 中使用 Clover 可能是值得的。
  • 在 IDE 中执行单元测试需要多长时间?它们多久推出一次?如果他们需要很长时间并且频繁启动,那么使用Clover的Test Optimization IDEA 中的功能可能很有趣。
  • 您是否将测试拆分为多个在 CI 服务器上运行的构建计划?在特定环境配置中运行?在这种情况下,服务器报告可能比在 IDE 中更有值(value)
  • 您的开发人员更喜欢直接在他们的 IDE 中查看代码覆盖率还是更喜欢在浏览器中单击 HTML 报告?
  • 由于在 IDE 中具有覆盖突出显示的源代码,您是否希望看到您的团队的生产力得到任何提升?多少?是“节省的时间 * 工资 > 三叶草许可证价格”吗?

  • Sonar's plugin simply seems to point out code issues in the IDE, which is good, but IntelliJ has functionality for this already. Also, does Clover lack this in their plugin [...]?



    Clover 不执行静态分析,因此不会显示代码错误。在它的 HTML 报告和 IDE 插件(IDEA/Eclipse)中都没有。

    Lastly, I've also seen that Sonar can consume reports generated by Clover. [...] Does the SonarQube server sufficiently replace the Clover server by utilizing these reports? If not, what does Sonar lack?



    我不是 100% 确定(如果我错了,请纠正我)但我认为 Sonar Clover 插件会解析 Clover 的 XML 报告文件(至少 Jenkins、Hudson 和 Bamboo 的 Clover 插件是这样工作的)以获得一些数字来显示.这意味着您将看不到 Clover's HTML report在 Sonar 中具有详细的源线着色、每个测试的覆盖范围、标签云等。

    干杯
    马立克

    关于code-coverage - 三叶草与 Sonar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613365/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com