Rails Enrutamiento RSpec: Acciones de prueba en: excepto NO enrutar

Problema bastante simple (habría pensado), pero tengo algunos problemas:

In Rails 3.1.0.rc6 / RSpec 2.6.0, estoy tratando de probar el enrutamiento de mi recurso 'productos', enrutado así:

resources :products, :except => [:edit, :update]

El enrutamiento de las acciones válidas funciona, pero quiero asegurarme de que las rutas de edición y actualizaciónno so invocable. Esto es lo que estoy intentando:

it "does not route to #edit" do
  lambda { get("/products/1/edit") }.should raise_error
end

Falla / Error: lambda {get ("/ products / 1 / edit")}. Debería elevar el error esperado Excepción pero no se generó nada # ./spec/routing/products_routing_spec.rb:11:in `bloque (3 niveles) en ' @

... Y sin embargo, cuando ejecuto

it "does not route to #edit" do
  get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end

Yo obteng

Falla / Error: get ("/ products / 1 / edit"). Should_not route_to ("products # edit",: id => "1") ActionController :: RoutingError: ninguna ruta coincide "/ products / 1 / edit" @

¿Alguna idea de lo que está pasando aquí? Supongo que esto debería ser bastante simple, pero parece que no puedo entenderlo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta