Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 当试图运行rspec时,我得到;未初始化的常量ActiveModel“;_Ruby On Rails_Ruby_Testing_Rspec_Guard - Fatal编程技术网

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"