<分区>
我目前正在使用 Rcov获取我正在处理的 Rails 项目的 C0 代码覆盖率分析。
但是,这些结果实际上毫无意义 - 根据 rcov,我有 100% 的覆盖率(因为它只涵盖 C0 分析),而且我几乎没有为目前存在的功能编写一半的测试用例。
我已经习惯了 Visual Studio 2008 Team 中代码覆盖率的有用结果,它具有 C1 覆盖率。是否有任何工具可以为 ruby 提供类似的覆盖范围?
<分区>
我目前正在使用 Rcov获取我正在处理的 Rails 项目的 C0 代码覆盖率分析。
但是,这些结果实际上毫无意义 - 根据 rcov,我有 100% 的覆盖率(因为它只涵盖 C0 分析),而且我几乎没有为目前存在的功能编写一半的测试用例。
我已经习惯了 Visual Studio 2008 Team 中代码覆盖率的有用结果,它具有 C1 覆盖率。是否有任何工具可以为 ruby 提供类似的覆盖范围?
最佳答案
目前,没有适用于 Ruby 的 C1 覆盖工具。事实上,除了 RCov 之外,没有任何覆盖工具。
直到最近,只能通过在 C 中修补或扩展 MRI 解释器来编写这样的工具。大约两年前,也可以在 Java 中扩展 JRuby,实际上从上个月开始就有了一个端口JRuby 的 RCov。然而,这需要 Ruby 和 C 的知识,以及相当深入的知识,因为胆小者不适合摆弄 MRI 的内部结构。
但只有使用 Rubinius 才有可能在 Ruby 本身中编写代码覆盖率工具等动态分析工具,从而使 Ruby 社区的更大一部分人可以访问工具编写。我希望这一点,加上工具供应商的大量资金支持(许多主要的 IDE 供应商正在开发或已经推出 Ruby IDE,包括 CodeGear(前 Borland)、IntelliJ、NetBeans、Eclipse、SapphireSteel(Ruby in Steel for Visual Studio)甚至 Microsoft)将导致 2009 年 Ruby 工具领域的快速创新,我们将看到诸如 C1、C2 覆盖率、NPath 复杂性、更细粒度的分析等内容。
在那之前,我唯一的想法就是使用 Java 工具。 JRuby 人员试图发出适当的魔法元数据,以使他们生成的字节码至少可以被 Java 工具穿透。因此,也许可以将 Java 覆盖工具与 JRuby 一起使用。但是,我不知道这是否真的有效,也不知道它是否应该有效。
关于ruby-on-rails - Ruby 是否存在 C1 代码覆盖率分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289321/
相关文章:
ruby-on-rails - Rails Devise 仅重定向到固定路径。需要在触发身份验证时重定向回用户来自的位置
ruby-on-rails - 由于 "404 Not Found"错误,sunspot_rails 无法索引
ruby-on-rails - 使用 form_for 正确存储日期信息
ruby-on-rails - 查找使用 ActiveStorage 上传的文件的二进制文件
unit-testing - 如何避免 Go 中的重复测试?
unit-testing - 如何断言 Go 测试中的错误类型?