Ruby on rails 在Rails应用程序中使用RSpec测试登录流
我正在使用RSpec测试rails中的控制器行为。我的期望之一是以下场景:Ruby on rails 在Rails应用程序中使用RSpec测试登录流,ruby-on-rails,login,rspec,integration-testing,flow,Ruby On Rails,Login,Rspec,Integration Testing,Flow,我正在使用RSpec测试rails中的控制器行为。我的期望之一是以下场景: 用户尝试使用参数访问受保护(需要登录)的url/home?val=123 该用户被重定向到登录页面 登录后,用户应重定向回最初请求的URL,并带有相关参数 我正在为我的auth系统使用designe(使用omniauth),并且我已经设置了推荐的宏来登录用户 诸如此类 我对如何测试上述行为的流程有点困惑: describe HomeController do context "user is logged out"
/home?val=123
describe HomeController do
context "user is logged out" do
it "redirects back to original page after signin" do
# user is not signed in - redirected to login page
get :index, { :val => '12345' }
current_user.should_not be_present
expect(response).to redirect_to(login_page_path)
# should now login the user and verify
# that request.fullpath == '/home?val=12345'
# ?...
end
end
end
它甚至属于控制器规范吗?如有任何帮助或示例,将不胜感激。谢谢。Luacassus看起来有一个不错的答案,但是你看过水豚的请求测试吗 这里有一个非常不错的教程 这基本上就是我们用来测试注册测试的东西。但是,我们没有测试omniauth,因此它可能不是您想要的