[英]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:migrate
和rake db:test:prepare
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.