2012-10-28 2 views
2

Micheal Hartl의 Ruby on Rails 튜토리얼 2.3 버전을 따르며 통합 테스트를위한 단계를 올바르게 수행했습니다. in /sample_app/spec/integrationlayout_links_spec.rb이라는 파일이 있습니다.RSpec 통합 테스트를 실행할 때 NoMethodError 정의되지 않은 메소드 'merge'

require 'spec_helper' 
describe "Layout links" do 
it "should have a Home page at '/'" do 
    get '/' 
    response.should render_template('pages/home') 
    end 
end 

나는 다음과 같은 오류를 얻고있다

$ spec spec/ 

을 수행 할 때

1) 
NoMethodError in 'Layout links should have a Home page at '/'' 
undefined method `merge' for nil:NilClass 
/home/rails_projects/sample_app/spec/integration/layout_links_spec.rb:4: 

Finished in 0.060225 seconds 

1 example, 1 failure 

이 오류이 질문을 바탕으로

+1

'rspec spec --backtrace'를 사용하여 스펙을 실행하십시오. 그러면 전체 백 트레이스가 인쇄되어 더 많은 정보를 얻을 수 있습니다. –

답변

1

저를 도와주세요, 그것은처럼 나에게 보인다 자습서 1 판을 따르고 있습니다. 그렇다면, 그는 통합 테스트는 178 페이지에 생성하는 데 사용되는 명령, 5.2.1

rails generate integration_test layout_links 

결과는 사양/요청/layout_links_spec.rb


아래 파일입니다 자신의 앱에 대한 소스 코드를 탐색 할 경우 spec/integration 폴더가 없습니다. here을보고 도움이되는지 확인하십시오. 희망.

PS : 그는 ". RSpec에에서, 통합 테스트는요구 사양이라고합니다 -이 용어의 기원은 나에게 모호하다"코멘트

RSpec docs에서는 요청 사양이 Rails의 통합 테스트에 대한 얇은 래퍼를 제공하며 라우팅 (Rails에서 제공됨) 및 스텁 (stubbing)없이 최대 스택을 통한 동작을 유도하도록 설계되었습니다. 당신).

+1

필자는 필자의 책에서 spec/integration 디렉토리를 만든 다음 "script/generate integration_spec layout_links"명령을 실행하라는 명령을 162 페이지에 가지고있다. – Srivathsa

+0

나는 본다. 참조하는 코드가 Rails 3.0.x 에디션에서 나왔지만 Rails 2.3.x 용 Rails 튜토리얼에있는 것처럼 보입니다. – memoht

관련 문제