2011-10-25 2 views
1

샘플 RoR 앱에서 작업 중이며 rspec으로 테스트하는 데 문제가 있습니다. 나는 rspec을 설치하고 테스트를 실행하지만 실패하고 있으며 이유를 모르겠습니다. 명령을 실행합니다 :"NameError : 초기화되지 않은 상수 ActionController :: TestCase :: Assertions"로 Rspec 테스트가 실패합니다.

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

'Gemfile'에는 어떤 버전의 webrat와 Rspec가 있습니다. 또한'보석 목록'이 당신에게 사용하고 있다고 말하는 것은 무엇입니까? –

+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) 이것은 보석 목록 출력에서 ​​나온 것입니다. – Hugs

답변

1

RSpec은 기본적으로 레일 기본값에 대해 작동하도록 보장됩니다. Gemfile에서 Webrat을 제거하고 다시 시도하십시오.

튜토리얼에 따라 나중에 단계에서 문제가 발생할 수 있습니다.

문제에 대한 내 솔루션은 분명히 보석 설치를 함께 충돌했기 때문에, 그 의존성 (레일 & & apt-get을 autoremove를 제거 apt-get을) 레일의 패키지 설치를 제거하는 것이었다. 이해할 만하다. gem (sudo gem install rails)과 함께 설치할 수 있습니다.

+0

대단히 감사합니다. – Melki

0

신선한 Ubuntu 11.10 설치에서 동일한 문제가 발생했습니다.

확인한 후 나는 또한 우분투 레일을 제거하는

sudo apt-get autoremove 

나는 어떤 artificts을 떠나지 않았 음을 보장

gem install rails 

사용하여 설치 한 레일 RSpec에의 그 최신 버전을 사용했다 또한 루비 1.8.7을 가졌으므로 1.9.2로 바 꾸었습니다.

rvm use 1.9.2 

내 루비 버전 on이 문제이거나 autoremove가 간섭을 제거했습니다. 그러나 일은 그 후 일하고있었습니다.

관련 문제