Ruby on rails 当试图运行rspec时,我得到;未初始化的常量ActiveModel“;
当我运行Ruby on rails 当试图运行rspec时,我得到;未初始化的常量ActiveModel“;,ruby-on-rails,ruby,testing,rspec,guard,Ruby On Rails,Ruby,Testing,Rspec,Guard,当我运行rspec spec时,我得到以下信息: /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/li
rspec spec
时,我得到以下信息:
/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'
如果我删除我的页面\u控制器\u规范文件,错误就会消失。但我没有任何规格要运行
当我有这样简单的东西时,会返回错误:
require 'spec_helper'
describe PagesController do
it "should do something..."
end
另外,如果我添加了任何测试,无论我在哪里得到相同的错误
关于我可以尝试的其他事情,有什么线索吗?为什么要运行
rspec spec
?典型的运行方式是rakespec
尝试bundle exec rspec spec
或bundle exec rake spec
如果这不起作用,请尝试查看您的环境的其余部分是否有问题——尝试bundle exec-rails控制台
和bundle exec-rails服务器
要检查的另一件事是,项目文件中的.rspec是否有任何异常,或者~/.rspec?在调试相同症状时发现此线程。这是造成错误的另一个原因:我已经跑了
rspec --init
但没有成功
rails generate rspec:install
用后者解决了问题。在我的例子中
gem "spork-rails", "~> 4.0.0"
在
/Gemfile
中缺少。您是否尝试过bundle exec guard start
?@topek,导致了相同的错误。我在一个新项目中重置了整个rails项目,并将其修复。“rspec规范”来自MH的Rails教程。这个问题与这里的这个问题相关吗:?我遇到了同样的问题@诺亚克,你说的到底是什么意思“我在一个新项目中重新设置了整个rails项目?你是否创建了一个新项目,然后一个接一个地传输文件,直到它开始工作?@Zyren是的,这可能是我不确定的,因为已经有几年了。可能想检查你的模型,因为这似乎是个问题。我弄明白了它是什么。我在spec_助手中复制/粘贴了一行内容,这导致了错误。Rails生成器在spec帮助程序中包含Rails.root。此外,无论SporkRails怎么说,您都必须将“gem”spork“,“~>1.0.0rc4”添加到gem文件中。孢子虫自己找不到。
gem "spork-rails", "~> 4.0.0"