繁体   English   中英

Ruby on Rails:带Capybara的黄瓜在redirect_to上转到ApplicationController

[英]Ruby on rails: Cucumber w/Capybara goes to ApplicationController on redirect_to

我想一个RESTful API建立重定向连接的数据库。 我已经设置了大量的试验黄瓜其中之一是,当用户执行上/链接/一个GET:ID。 据说这是为了将用户重定向到的链接。 它可以在浏览器中运行,但是在黄瓜中设置此测试时遇到了一些麻烦。

Given /^The link id part of the URL matches an existing entry in the links table$/ do
 FactoryGirl.create(:users)
 FactoryGirl.create(:links, :OWNER_USERID => Users.first.id)
 Users.count.should==1
 Links.count.should==1
end

When /^you use GET on link$/ do
 visit link_path(Links.first.id)
end

指定的link_path将我发送到此show方法:

def show
 redir=Links.find_by_id(params[:id])
 redirect_to redir.target, :status=>307
end

问题只是黄瓜在“何时”部分抱怨我没有用于应用程序/索引的模板而失败。 由于某种原因,它不会重定向我,而是转到我自己站点的root_path。 有人知道如何检查这种重定向是否真的有效吗?

您是否尝试过在RSpec中而不是Cucumber中对其进行测试? 尝试这样的事情,看看是否可行:

describe "testing links" do
  subject { page } 
  describe "use GET on link" do
    let(:links) { Links.first }
    before { get link_path(Links.first.id) }
    specify { response.should redirect_to("http://example.com") }
  end
end

另外,在进行测试之前,请确保您的测试数据库配置正确并已填充。

rake db:migraterake db:test:prepare

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM