尝试运行 rspec 时,我得到“未初始化的常量 ActiveModel"; [英] When trying to run rspec, I get "uninitialized constant ActiveModel"
问题描述
当我运行 rspec spec
时,我得到以下信息:
我的 spec_helper.rb 看起来像这样:
ENV["RAILS_ENV"] ||= 'test'需要'spec_helper'需要'rspec/rails'需要'rspec/autorun'需要'spork'Spork.prefork 做ENV['RAILS_ENV'] ||= '测试'需要 File.expand_path('../../config/environment', __FILE__)需要'rspec/rails'RSpec.configure 做 |config|config.mock_with :rspecconfig.fixture_path = "#{Rails.root}/spec/fixtures"config.use_transactional_fixtures = trueActiveSupport::Dependencies.clear结尾结尾Spork.each_run 做加载#{Rails.root}/config/routes.rb"目录["#{Rails.root}/app/**/*.rb"].each {|f|负载 f}结尾目录[Rails.root.join("spec/support/**/*.rb")].each {|f|需要 f}RSpec.configure 做 |config|config.mock_with :rspecconfig.fixture_path = "#{::Rails.root}/spec/fixtures"config.use_transactional_fixtures = trueconfig.infer_base_class_for_anonymous_controllers = false结尾目录[Rails.root.join('spec/support/**/*.rb')].each{|f|需要 f}
如果我删除 pages_controller_spec 文件,错误就会消失.但我要运行的规格为零.
当我有这样简单的事情时,错误会返回:
需要'spec_helper'描述 PagesController 做它应该做点什么……"结尾
此外,如果我添加任何测试,无论在哪里遇到相同的错误.
关于我可以尝试的其他事情的任何线索?
你为什么要运行 rspec spec
?典型的运行是rake spec
.
尝试bundle exec rspec spec
或bundle exec rake spec
.
如果这不起作用,请尝试查看您的环境的其余部分是否有问题——尝试 bundle exec rails console
和 bundle exec rails server
还要检查的另一件事是,您的项目文件中的 .rspec 或 ~/.rspec 中是否有任何异常?
When I run rspec spec
I get the following:
/usr/local/lib/ruby/gems/1.9.1/gems/rspec-rails-2.7.0/lib/rspec/rails/extensions/active_record/base.rb:26:in `': uninitialized constant ActiveModel (NameError) from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-rails-2.7.0/lib/rspec/rails/extensions.rb:1:in `require' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-rails-2.7.0/lib/rspec/rails/extensions.rb:1:in `' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-rails-2.7.0/lib/rspec/rails.rb:8:in `require' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-rails-2.7.0/lib/rspec/rails.rb:8:in `' from /Users/noahc/Dropbox/perfect_setup/spec/spec_helper.rb:4:in `require' from /Users/noahc/Dropbox/perfect_setup/spec/spec_helper.rb:4:in `' from /Users/noahc/Dropbox/perfect_setup/spec/controllers/pages_controller_spec.rb:1:in `require' from /Users/noahc/Dropbox/perfect_setup/spec/controllers/pages_controller_spec.rb:1:in `' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `load' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `block in load_spec_files' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `map' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `load_spec_files' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/command_line.rb:18:in `run' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:80:in `run_in_process' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:69:in `run' from /usr/local/lib/ruby/gems/1.9.1/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:10:in `block in autorun'
My spec_helper.rb looks like this:
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require 'rspec/rails'
require 'rspec/autorun'
require 'spork'
Spork.prefork do
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rspec/rails'
RSpec.configure do |config|
config.mock_with :rspec
config.fixture_path = "#{Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
ActiveSupport::Dependencies.clear
end
end
Spork.each_run do
load "#{Rails.root}/config/routes.rb"
Dir["#{Rails.root}/app/**/*.rb"].each {|f| load f}
end
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.mock_with :rspec
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
end
Dir[Rails.root.join('spec/support/**/*.rb')].each{|f| require f}
If I delete my pages_controller_spec file the errors go away. But I have zero specs to run.
The error returns when I have something even as simple as this:
require 'spec_helper'
describe PagesController do
it "should do something..."
end
Also, if I add any tests no matter where I get the same error.
Any clues on other things I can try?
Why are you running rspec spec
? The typical thing to run is rake spec
.
Try bundle exec rspec spec
or bundle exec rake spec
.
If that doesn't work, try to see if something is wrong with the rest of your environment -- try bundle exec rails console
and bundle exec rails server
Another thing to check, is there anything odd in .rspec in your project file, or ~/.rspec?
这篇关于尝试运行 rspec 时,我得到“未初始化的常量 ActiveModel";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!