【问题标题】:Fails to run Rspec due to Reform error: "undefined method `feature' for Reform::Form:Class (NoMethodError)"由于改革错误而无法运行 Rspec:“改革::Form:Class (NoMethodError) 的未定义方法‘特征’”
【发布时间】:2017-01-10 08:06:54
【问题描述】:

我只是想运行一些测试,我得到了这个错误:

undefined method `feature' for Reform::Form:Class (NoMethodError)

它发生在/usr/local/bundle/gems/reform-2.2.3/lib/reform/form.rb:75, form.rb 中的那一行是第一次使用 DSL 词 feature。 当然,当我运行我的 rails 应用程序时不会发生这种情况,但只有当我运行 rspec 时才会发生这种情况。

在reform使用的Disposable gem中定义。起初我认为问题出在旧版本的 rspec 上,但即使我更新到最新版本,问题仍然存在。阅读代码或文档并没有让我了解测试和应用程序运行之间不同的任何特定加载行为。

我使用的 gems 版本是: rspec-3.3.0、reform-2.2.3、disposable-0.3.2

有人知道吗?

-- 更新--

在删除整个测试框架(删除 RSpec 并删除所有相关文件)并再次安装后,我发现 RSpec 正在自行运行,但是当尝试在测试文件中加载我的环境时,它会因同样的错误而失败。

【问题讨论】:

    标签: ruby-on-rails rspec disposable reform


    【解决方案1】:

    嗯,问题是我们添加了对改革合同的覆盖,并且没有做得太优雅,因此不需要原始改革合同所需的所有东西。作为修复,我们现在创建了一个基础 从 Reform::Contract 继承而不是覆盖它的合同,现在一切正常。我们在运行 RSpec 而不是在运行 Rails c 时发现它的唯一原因是因为加载顺序不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多