我使用以下代码:
Rails 4.1.1
guard-zeus 2.0.0
rspec-rails 3.0.1
开箱即用默认值rails g rspec:install
和guard init
当我运行guard
并保存spec文件时,我收到错误:
undefined method `configure` for RSpec:Module (NoMethodError)
我可以用rspec spec
和rake
运行规范。
在spec_helper
中,如果在configure块之前输入require 'rspec/rails
,guard工作正常,但rspec spec
会失败,并显示以下错误:
uninitialized constant ActiveSupport::Autoload (NameError)
我猜现在rails_helper
和spec_helper
是分开的,加载顺序有问题。
两个问题:
1.我该怎么补救呢?
1.有没有一个不同的解决方案,持续集成 * 本地 *,你可以推荐与最新的Rails和Rspec。
你只需要回答一个问题。
4条答案
按热度按时间ulydmbyx1#
以下修复对我有效:
ca1c2owp2#
抛出一个可能是问题的快速答案。spec_helper文件应该具有以下顺序:
在config/environment require之后需要rspec/rails。
mf98qq943#
以下内容:
表明你错过了
这通常是不必要的,但如果你把它放在你的
spec/spec_helper.rb
应该工作。(If您可以直接运行RSpec,它已经包含在RSpec中了)。
它不包括在内的原因可能是:
.rspec
文件(应该存在)有问题require 'rspec/rails'
可能应该进入spec/rails_helper.rb
......但更好的方法是更新您的rspec-rails gem并运行:
如果出现提示,则使用"d"表示差异(最好使用推荐的更改)。
idfiyjo84#
您应该将以下要求添加到文件
spec_helper.rb
的顶部参考以下内容:Zeus GitHub issue 308