2011-10-25 81 views
1

我正在處理一個示例RoR應用程序,我無法通過rspec測試它。我已安裝rspec並運行測試,但他們失敗了,我不知道爲什麼。我運行命令:Rspec測試失敗,出現「NameError:未初始化的常量ActionController :: TestCase ::斷言」

bundle exec rspec spec/ 

而當我運行這個;這是我得到的錯誤消息:

Failures: 



1) PagesController GET 'home' should be successful 
    Failure/Error: Unable to find matching line from backtrace 
    NameError: 
     uninitialized constant ActionController::TestCase::Assertions 
    # /usr/lib/ruby/vendor_ruby/action_controller/integration.rb:18 
    # /usr/lib/ruby/gems/1.8/gems/webrat-0.7.1/lib/webrat/integrations/rails.rb:2 
    # /usr/lib/ruby/gems/1.8/gems/webrat-0.7.1/lib/webrat/core/configuration.rb:105:in `mode=' 
# /usr/lib/ruby/gems/1.8/gems/rspec-rails-2.6.1/lib/rspec/rails/vendor/webrat.rb:26 
# /usr/lib/ruby/gems/1.8/gems/webrat- 

還有更多的錯誤消息。

我不是RoR方面的專家,非常感謝您的幫助。提前致謝。

+0

什麼版本的webrat和Rspec在你的'Gemfile'中。另外'gem list'告訴你你正在使用什麼? –

+0

寶石 'rspec的護欄', '2.6.1' 寶石 'webrat', '0.7.1' – Hugs

+0

rspec的(2.6.0) rspec的核(2.6.4) rspec的-預期(2.6.0) rspec-mocks(2.6.0) rspec-rails(2.6.1) webrat(0.7.1)這是從gem列表輸出。 – Hugs

回答

1

RSpec只能保證爲Rail的默認設置開箱即用。從您的Gemfile中刪除網頁並再次嘗試。

根據教程,這可能會在後面的步驟中再次破壞。

我對這個問題的解決方案是刪除軟件包的安裝(apt-get remove rails & apt-get autoremove)及其依賴項,因爲它顯然與gem install衝突。相當可以理解。你可以用gem安裝它(sudo gem install rails)

+0

太棒了,非常感謝。 – Melki

0

我在新鮮的Ubuntu 11.10安裝上遇到同樣的問題。

保證後,我用RSpec中軌,且該最新版本使用

gem install rails 

我還確保卸載Ubuntu的軌道沒有留下任何artificts與

sudo apt-get autoremove 

我是安裝也有紅寶石1.8.7所以我切換到1.9.2

rvm use 1.9.2 

要麼我的紅寶石版本問題或自動刪除的問題消除了一些干擾。但之後的事情正在起作用。

相關問題