2011-08-30 3 views
1

IM très nouveau pour les tests rspec et besoin d'un peu d'aide. Je teste un contrôleur pour ma feuille de temps et j'essaie de tester ce morceau de code.rspec test d'une fonction imbriquée

if params[:user_id] == nil 
     if current_user == nil 
     redirect_to new_user_session_path 
     else 
     @user_id = current_user.id 
     end 
    else 
     @user_id = params[:user_id] 
    end 

je ne suis pas sûr si son même pas la peine de tester, mais il semble theres un manque de tutoriels pour les débutants là-bas, donc je wouldnt savoir. merci à l'avance

Répondre

2

Vous pouvez le faire en rspec utilisant décrire des déclarations et avant (: chaque) pour configurer chaque scénario et tester

describe "test the controller" do 

    before(:each) do 
     @user = Factory(:user) 
    end 

    describe "for non signed in users" do 

     it "should redirect to sign in page" do 
      get :action 
      response.should redirect_to(new_user_session_path) 
     end 

    end 

    describe "for signed in users" do 

     before(:each) do 
      sign_in(@user) 
     end 

     it "should be successful" do 
      get :action 
      response.should be_success 
     end 

    end 

end 

utiliser juste différentes déclarations qui décrivent et configurer chaque essai avec avant (: chacun) et vous devriez aller bien.

+0

Merci cela fonctionne très bien ... je suppose que vous ne connaissez pas de bons tutoriels sur rspec? – SD1990

+0

vérifier cette question: http://stackoverflow.com/questions/201385/getting-started-with-rspec-looking-for-tutorials – Solomon

+0

merci pour l'aide – SD1990