我只是想尝试运行一些测试,我收到了这个错误:
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时...
它在改革使用的Disposable gem中定义。起初我认为问题在于旧版本的rspec,但即使在我更新到最新版本之后,事情仍然存在。阅读代码或文档并没有让我知道任何特定的加载行为,这在测试和应用程序运行之间是不同的。
我使用的宝石版本是: rspec-3.3.0,改革-2.2.3,一次性-0.3.2
有没有人有线索?
- 更新 -
删除整个测试框架(删除RSpec并删除所有相关文件)并再次安装后,我发现RSpec本身就在运行,但是当尝试在测试文件中加载我的环境时,它会因同样的错误而失败。
答案 0 :(得分:0)
嗯,问题是我们加入了改革合同,并没有做得太优雅,因此不需要原始改革合同要求的所有内容。作为修复,我们现在创建了一个基础
从RSpec
继承而不是覆盖它的合同现在一切正常。我们在运行Rails c
而不是在运行npm install -g node-gyp
时找到它的唯一原因是因为事物的加载顺序不同。