RSpecのをredirect_toルートは期待を失敗(またはmisparsed?)、どのように来ていますか?

StackOverflow https://stackoverflow.com/questions/954708

質問

それはのための私の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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top