我有个测试:
test "should not allow access" do
get :new
assert_redirected_to new_user_session_url
end我使用设计进行身份验证。
对于我的每个操作,我都有两个视图:一个普通视图,一个移动设备视图,所以在我使用通常的默认视图(sign_in.html.erb)之前,测试是通过的,但是当我添加了一个移动视图(sign_in.mobile.erb)时,我得到了下一个失败消息。
期望响应是重定向到 ,但重定向到
因此,从客户端测试的角度来看--逻辑工作正常,例如,如果用户未通过身份验证,他将被重定向到会话新路径(new_user_session_url)。这也适用于移动设备(移动客户端将被重定向到页面中登录的移动视图),但是如果客户端是移动设备,而我的控制器重定向到移动视图,则由于某些原因而导致测试失败。
我的问题是如何修正测试?我试过:
assert_redirected_to new_user_session_path
assert_redirected_to :controller => "devise/session", :action => "new"但是,如果客户端是移动设备,并将重定向发生在移动视图上,则没有成功和相同的失败消息。
有什么想法吗?
发布于 2011-04-29 01:22:40
assert_redirected_to new_user_session_path(:format => 'mobile')https://stackoverflow.com/questions/5825636
复制相似问题