ruby-on-rails - Ruby 是否存在 C1 代码覆盖率分析?

标签 ruby-on-rails ruby unit-testing tdd code-coverage

<分区>

我目前正在使用 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 - 如何在嵌套属性中自定义错误消息?

ruby-on-rails - Rails Devise 仅重定向到固定路径。需要在触发身份验证时重定向回用户来自的位置

android - Kotlin 协程单元测试错误 : Exception in thread "main @coroutine#1 @coroutine#2" java. lang.NullPointerException

ruby-on-rails - 由于 "404 Not Found"错误,sunspot_rails 无法索引

ruby-on-rails - 使用 form_for 正确存储日期信息

ruby-on-rails - 查找使用 ActiveStorage 上传的文件的二进制文件

unit-testing - 如何避免 Go 中的重复测试?

unit-testing - 如何断言 Go 测试中的错误类型?

ruby-on-rails - <tt> 在 Ruby 注释中代表什么?

ruby-on-rails - 同一个 Rails 应用程序的两个 Redis 服务器