2011-08-30 118 views
1

IM对rspec测试非常新,需要一点帮助。rspec测试嵌套的if函数

为我的时间表测试一个控制器,并试图测试这段代码。

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 

林不知道,如果它的价值甚至测试,但它似乎那里有一个缺乏教程初学者在那里,所以我不会知道。 (:每个)设置每个场景和测试

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 

只要使用不同的描述语句和设置的各项测试之前( 由于事先

回答

2

您可以在rspec的使用说明语句之前做到这一点:每个),你应该没问题。

+0

感谢,工作正常......我不假设你知道rspec上的任何好的教程? – SD1990

+0

看看这个问题:http://stackoverflow.com/questions/201385/getting-started-with-rspec-looking-for-tutorials – Solomon

+0

感谢您的帮助 – SD1990