好了,这是RoR上的一个新功能,尝试在一个骨架应用上运行spork,会得到以下错误:
Using RSpec, Rails
Preloading Rails environment
Loading Spork.prefork block...
undefined method `infer_base_class_for_anonymous_controllers=' for #<RSpec::Core::Configuration:0x007fe0b5672850> (NoMethodError)
/Users/doronkatz/Development/Rails/tuts/MySecondRailsApp/spec/spec_helper.rb:38:in `block (2 levels) in <top (required)>'
/Users/doronkatz/.rvm/gems/ruby-2.0.0-p353/gems/rspec-core-2.14.7/lib/rspec/core.rb:120:in `configure'
/Users/doronkatz/Development/Rails/tuts/MySecondRailsApp/spec/spec_helper.rb:18:in `block in <top (required)>'
/Users/doronkatz/.rvm/gems/ruby-2.0.0-p353/gems/spork-1.0.0rc4/lib/spork.rb:24:in `prefork'
/Users/doronkatz/Development/Rails/tuts/MySecondRailsApp/spec/spec_helper.rb:4:in `<top (required)>'
/Users/doronkatz/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `load'
/Users/doronkatz/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `block in load'
/Users/doronkatz/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency'
/Users/doronkatz/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:223:in `load'我的GemFile如下:
gem 'rails', '4.0.2'
# Use postgresql as the database for Active Record
gem 'pg'
....
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
group :development, :test do
gem 'capybara', '2.1.0'
gem 'rspec-rails'
gem 'activeadmin', github: 'gregbell/active_admin'
gem 'database_cleaner'
gem 'spork-rails', '4.0.0'
gem 'guard-spork', '1.5.0'
gem 'childprocess', '0.3.6'
end和我的spec_helper:
RSpec.configure do |config|
....
config.infer_base_class_for_anonymous_controllers = false
config.order = "random"
config.include Capybara::DSL发布于 2014-01-22 09:41:23
rspec-rails提供了infer_base_class_for_anonymous_controllers方法。我的猜测是您在调用RSpec.configure之前并不需要它。
发布于 2016-07-23 02:21:14
我有其他的问题,为了解决它,我搬到
config.infer_base_class_for_anonymous_controllers
从spec_helper.rb到rails_helper.rb
(也回答了here)
https://stackoverflow.com/questions/21272287
复制相似问题