我是 rspec 测试的新手,需要一点帮助。
我正在为我的时间表测试一个 Controller ,我正在尝试测试这段代码。
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
我不确定它是否值得测试,但似乎那里缺乏针对初学者的教程,所以我不知道。 提前致谢
最佳答案
您可以在 rspec 中使用 describe 语句和 before(: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
只需使用不同的描述语句并使用 before(:each) 设置每个测试,您应该没问题。
关于ruby-on-rails-3 - rspec 测试一个嵌套的 if 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244508/