IM非常新的测试,需要一些帮助。
我正在为我的时间表测试一个控制器,并试图测试这段代码。
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
我不确定它是否值得测试,但似乎缺少初学者的教程,所以我不知道。 提前谢谢
答案 0 :(得分:2)
你可以在rspec中使用describe语句和之前(:each)来设置每个场景并测试它
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
只需使用不同的describe语句并使用before(:each)设置每个测试,你应该没问题。