Rspec的redirect_to的路线失败的预期(或misparsed?),怎么来的?
-
11-09-2019 - |
题
看来我的RSpec的路线:控制器=>“手机”,:动作=>“编辑”的作品...它应该是“手机/ 123 /编辑”,并根据RSpec的测试和耙路线。但是,当我创建一个redirect_to的期望,期望失败。
这里的路线测试的网址:
it "maps #edit" do
route_for(:controller => "phones", :action => "edit", :id => "1").should == "/phones/1/edit"
end #THIS TEST PASSES
下面是失败的期望:
put :update, :id => "1", :phone => {}
response.should redirect_to :controller => 'phones', :action => 'edit'
这是我在测试中得到的消息:
expected redirect to {:controller=>"phones", :action=>"edit"},
got redirect to "http://test.host/phones/1089/edit" # BUT THIS THE URL I WAS EXPECTING!
什么schiznits?
解决方案
这是失败的原因是你缺少你期望的ID。它应该是:
response.should redirect_to :controller => 'phones', :action => 'edit', :id=>1
不隶属于 StackOverflow