0

:controller => 'phones', :action => 'edit' の私の rspec ルートは機能しているようです...それは 'phones/123/edit' である必要があり、rspec テストと rake ルートによると IS です。しかし、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!

スキズニットは何ですか?

4

1 に答える 1

2

これが失敗する理由は、期待する ID が欠落しているためです。そのはず:

response.should redirect_to :controller => 'phones', :action => 'edit', :id=>1
于 2009-06-05T15:31:24.020 に答える