我到处搜索,但似乎找不到解决方案。我一直在关注 http://ruby.railstutorial.org/ 上的教程我在第 3 章尝试使用“rspec spec/”执行测试
但是我不断收到以下错误:
Failure/Error: Unable to find matching line from backtrace
NameError:
uninitialized constant ActionController::TestCase::Assertions
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/backward_compatibility.rb:20:in `const_missing'
# /var/lib/gems/1.8/gems/rspec-expectations-2.5.0/lib/rspec/expectations/backward_compatibility.rb:6:in `const_missing'
# /usr/lib/ruby/1.8/action_controller/integration.rb:18
# /var/lib/gems/1.8/gems/webrat-0.7.1/lib/webrat/integrations/rails.rb:2
# /var/lib/gems/1.8/gems/webrat-0.7.1/lib/webrat/core/configuration.rb:105:in `mode='
# /var/lib/gems/1.8/gems/rspec-rails-2.5.0/lib/rspec/rails/example/controller_example_group.rb:172
# /var/lib/gems/1.8/gems/webrat-0.7.1/lib/webrat/core/configuration.rb:9:in `configure'
# /var/lib/gems/1.8/gems/rspec-rails-2.5.0/lib/rspec/rails/example/controller_example_group.rb:172
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb:29:in `instance_eval'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb:29:in `run_in'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb:64:in `run_all'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb:64:in `each'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb:64:in `run_all'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/hooks.rb:110:in `run_hook'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:191:in `eval_before_eachs'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:191:in `each'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:191:in `eval_before_eachs'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:144:in `run_before_each'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:48:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:106:in `with_around_hooks'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:46:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:99:in `with_pending_capture'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:98:in `catch'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:98:in `with_pending_capture'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example.rb:45:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:262:in `run_examples'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:258:in `map'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:258:in `run_examples'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:232:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:233:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:233:in `map'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:233:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:27:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:27:in `map'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:27:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/reporter.rb:12:in `report'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:24:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:55:in `run_in_process'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:46:in `run'
# /var/lib/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:10:in `autorun'
# /var/lib/gems/1.8/bin/rspec:19
我曾尝试卸载并重新安装 gems,但没有成功。
这是我的 gem list :
*** LOCAL GEMS ***
abstract (1.0.0)
actionmailer (3.0.4, 3.0.3)
actionpack (3.0.4, 3.0.3)
activemodel (3.0.4, 3.0.3)
activerecord (3.0.4, 3.0.3)
activerecord-oracle_enhanced-adapter (1.3.2, 1.3.1)
activeresource (3.0.4, 3.0.3)
activesupport (3.0.4, 3.0.3)
arel (2.0.8, 2.0.7)
autotest (4.4.6)
autotest-rails-pure (4.1.2)
builder (3.0.0, 2.1.2)
bundler (1.0.10)
cgi_multipart_eof_fix (2.5.0)
daemon_controller (0.2.6, 0.2.5)
diff-lcs (1.1.2)
erubis (2.6.6)
fastthread (1.0.7)
file-tail (1.0.5)
gem_plugin (0.2.3)
i18n (0.5.0)
mail (2.2.15, 2.2.14)
mime-types (1.16)
nifty-generators (0.4.5, 0.4.4)
nokogiri (1.4.4)
passenger (3.0.2)
polyglot (0.3.1)
rack (1.2.1)
rack-mount (0.6.13)
rack-test (0.5.7)
rails (3.0.4, 3.0.3)
railties (3.0.4, 3.0.3)
rake (0.8.7)
redgreen (1.2.2)
rspec (2.3.0)
rspec-core (2.3.1)
rspec-expectations (2.3.0)
rspec-mocks (2.3.0)
rspec-rails (2.3.0)
ruby-oci8 (2.0.4)
spruz (0.2.5)
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3, 1.3.2)
sys-uname (0.8.5)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.24)
webrat (0.7.3, 0.7.1)
ZenTest (4.4.2)
gem 文件
source 'http://rubygems.org'
gem 'rails', '3.0.4'
gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3'
group :development do
gem 'rspec-rails', '2.5.0'
end
group :test do
gem 'rspec', '2.5.0'
gem 'webrat', '0.7.1'
end
最佳答案
我找到了与 m.galkiewicz 类似的解决方案。 我在 ubuntu 10.10 上。由于您的错误中的以下行,我发现了这个问题: #/usr/lib/ruby/1.8/action_controller/integration.rb:18
当我与在相同版本的 ubuntu 上工作的 friend 进行比较时,action_controller 不在/usr/lib/ruby/1.8 路径中。
我发现我已经通过 apt-get 安装了 rails 和 rake,而不是通过 rubygems。以下是我为实现它所做的修改:
- sudo apt-get 删除 rails
- sudo gem 安装 rails
- 须藤捆绑安装
然后我可以运行 rspec 并继续学习教程。
关于ruby-on-rails - 遵循 http ://ruby. railstutorial.org/tutorial 时出现 RSpec 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032119/