加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:如何为执行重定向的路由编写规范?

发布时间:2020-12-17 04:23:27 所属栏目:百科 来源:网络整理
导读:我在我的Rails项目中使用Omniauth,我想在“/ login”路径后面隐藏“/ auth / facebook”. 事实上,我写了一条路线: match "/login",:to = redirect("/auth/facebook"),:as = :login 这实际上是有效的,即login_path的链接将重定向到/ auth / facebook. 但是,
我在我的Rails项目中使用Omniauth,我想在“/ login”路径后面隐藏“/ auth / facebook”.

事实上,我写了一条路线:

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

这实际上是有效的,即login_path的链接将重定向到/ auth / facebook.

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

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

提前致谢!

解决方法

因为您没有提供有关您的环境的任何详细信息,所以以下示例假定您使用的是带有Rails 3的rspec 2.x和rspec-rails.
# 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的“请求规范”部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读