RSpecのをredirect_toルートは期待を失敗(またはmisparsed?)、どのように来ていますか?
-
11-09-2019 - |
質問
それはのための私のRSpecのルート思わ:コントローラ=>「電話」、:アクション=>「編集」の作品...それは「電話/ 123 /編集」であるべきであり、RSpecのテストやすくい経路に従ってです。私はredirect_toの期待を作成するときしかし、期待は失敗します。
ここでは、URLのルートテストがあります:
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