2012-03-28 15 views
3

テストがうまくいかず、誰かがポインタを持っているのだろうかと疑問に思っていました。私はユーザーの編集ページをテストしているので、ユーザープロファイルを表示および編集できるようにログインする必要があります。私users_controller_spec rspecでauthlogicをテストするにはどうすればよいですか?

describe "GET 'edit'" do 

     before(:each) do 
      @user = Factory(:user) 
      UserSession.create(@user) 
     end  

     it "should be successful" do 
      # test for /users/id/edit 
      get :edit, :id => @user.id 
      response.should be_success 
     end 

私はブラウザを使用してそれをテストし、それが作品に

​​

:authlogicドキュメンテーションに続いて、ここでは関係コードです。プロフィールを編集するにはログインする必要がありますが、rspecテストでは機能しません。

私はそれがmock controllerと関係があると感じていますが、私はどのように理解できません。私もtest caseを読んだことがありますが、それでも動作させることはできません。

ご協力いただきありがとうございます!

答えて

2

あなたはとても似ApplicationControllerに上CURRENT_USERメソッドをスタブすることができます

fake_user = controller.stub(:current_user).and_return(@user) #you could use a let(:user) { FactoryGirl.create(:user) } instead of before_each 
get :edit, :id => fake_user.id 
response.should be_success 
関連する問題