【问题标题】:Code coverage tools in Java [closed]Java中的代码覆盖工具[关闭]
【发布时间】:2009-10-05 05:19:07
【问题描述】:

Java 中是否有任何此类代码覆盖工具可以提供程序中的不同路径。基本上,这个想法是确保在执行期间覆盖所有循环和嵌套循环。即能够确定代码库中的所有循环是否至少通过一次迭代执行。

【问题讨论】:

标签: java code-coverage


【解决方案1】:

Cobertura、EMMA 甚至 Clover 只进行分支/决策覆盖(当然,除了行/语句覆盖)。 Clover 还提供了 method 覆盖(它只是测量在执行过程中是否输入了方法)。

对于路径覆盖(加上行/语句覆盖),请尝试JMockit Coverage

可以在here找到示例报告。

实际上,到目前为止,这只是新路径覆盖支持的初始版本,我还需要改进。

【讨论】:

  • +1 这个好答案,到目前为止唯一一个(所有其他人都错过了 OP 的真正问题)
【解决方案2】:

Cobertura 是另一个常用的工具。

【讨论】:

    【解决方案3】:

    我会选择JaCoCo 它是一个开源工具(EMMA 的替代品),在 Eclipse 的公共许可下分发。

    参考(2013 年 7 月 17 日,05:05):http://en.wikipedia.org/wiki/Java_Code_Coverage_Tools

    【讨论】:

    • EclEmma 提供了 JaCoCo 与 Eclipse 的良好集成。
    【解决方案4】:

    试试EMMA 它是免费的。它在 eclipse 和 JetBrains IDEA 支持以及 TeamCity 构建服务器中得到支持。

    【讨论】:

    • 请注意,代码覆盖率仅在 IDEA 的终极版中支持,社区版不支持。
    【解决方案5】:

    Clover 是个好工具。

    【讨论】:

    • 不幸的是,它是一个商业产品 :-( 除此之外,它仍然是目前维护的,并且根据我的经验,它给出了准确的结果(例如,艾玛不允许我获得 100% 的覆盖率在一个枚举上)它插入 Eclipse、Hudson、Sonar、......报告真的很干净(这在一天结束时会产生很大的不同)
    • 不幸的是?谁支付你的工资?
    • 我相信 Clover 现在是开源的。
    猜你喜欢
    • 2016-12-16
    • 2011-03-02
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2010-10-05
    • 2010-09-16
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多