2012-06-18 3 views
4

나는 Rails에 처음 익숙하다. 나는 RSpec으로 내 애플 리케이션을 개발하고있다. 방금 Facebooker2에 tutorial을 따라 갔으며 인증을 위해 before_filter을 추가했습니다.레일 3에서 Facebooker2를 사용하여 valid_session으로 rspec을 수행하려면 어떻게해야합니까?

#app/controller/application_controller.rb 
before_filter :ensure_authenticated 

그러나 이해할 수있는 유효한 세션이 없기 때문에 다음과 같은 내 사양이 실패했습니다.

#spec/controllers/answers_controller_spec.rb 
describe "GET index" do 
    it "assigns all answers as @answers" do 
    get :index, {}, valid_session 
    assigns(:answers).should include(answers(:reading)) 
    end 
end 

하지만 RSpec에 다음과 같은 기능에 사용하기위한 가짜 유효한 세션 수있는 방법을 찾을 수 없습니다.

#spec/controllers/answers_controller_spec.rb 
def valid_session 
    {} 
end 

방법이 있습니까? 그렇지 않다면, 그러한 경우를 위해 일하는 레일의 방식은 무엇입니까? 당신은 실제 인증을 테스트하는 방법에 대한 관심이없는 단지 유효한 세션을 시뮬레이션하려면

답변

0

, 당신은 필터를 스텁 수 :

controller.stub(:ensure_authenticated).and_return(true) 

편집 : 당신이 (ApplicationController.stub을해야 할 수도 있습니다 ...)