0
我有一个测试:Ruby on Rails的 - 测试单位
test "should not allow access" do
get :new
assert_redirected_to new_user_session_url
end
我使用的设计进行验证。
对于我的每个操作,我都有两个视图:一个正常,一个用于移动设备,因此在使用通常的默认视图(sign_in.html.erb)之前 - 测试是通过的,但是当我添加移动视图(sign_in.mobile.erb)我有下一个失败消息。
预期响应是重定向到http://test.host/users/sign_in但是http://test.host/users/sign_in.mobile
所以重定向但从客户端测试点 - 逻辑工作正常,例如如果用户未通过身份验证,他将被重定向到会话新路径(new_user_session_url)。这也适用于移动设备(移动客户端将被重定向到登录页面的移动视图),但如果客户端是移动设备且我的控制器重定向到移动视图,则由于某些原因,测试失败。
我的问题是如何解决测试问题?我已经试过:
assert_redirected_to new_user_session_path
assert_redirected_to :controller => "devise/session", :action => "new"
,但没有成功,同样的情况下,失败消息,如果客户端是移动设备和重定向发生移动视图。
有什么想法?
我真的不明白你在问什么。如果你能提供更清晰的格式和更多的信息,我可能会提供帮助。 – Mario 2011-04-28 22:14:35
对不起我的英文,我添加了一些更多的细节,希望它有道理。 – paxer 2011-04-28 23:39:43