redi-6ren">
gpt4 book ai didi

ruby-on-rails - rails : How do I write a spec for a route that does a redirect?

转载 作者:数据小太阳 更新时间:2023-10-29 06:57:41 26 4
gpt4 key购买 nike

我在我的 Rails 项目中使用 Omniauth,我想将“/auth/facebook”隐藏在“/login”路由后面。

其实我写了一个路由:

match "/login", :to => redirect("/auth/facebook"), :as => :login

这确实有效,即指向 login_path 的链接将重定向到 /auth/facebook

但是,我如何编写 (RSpec) 规范来测试此路由(特别是重定向)?

请注意,/login 不是应用程序中定义的实际操作或方法。

提前致谢!

最佳答案

因为您没有提供有关环境的任何详细信息,以下示例假设您使用的是 rspec 2.x 和 rspec-rails,以及 Rails 3。

# rspec/requests/redirects_spec.rb
describe "Redirects" do
describe "GET login" do
before(:each) do
get "/login"
end

it "redirects to /auth/facebook" do
response.code.should == "302"
response.location.should == "/auth/facebook"
end
end
end

阅读 rspec-rails 的请求规范部分了解更多详情。

关于ruby-on-rails - rails : How do I write a spec for a route that does a redirect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com