Cómo probar rutas en un motor montable Rails 3.1
Estoy tratando de escribir algunas especificaciones de enrutamiento para un motor 3.1 de rieles montables. Tengo especificaciones de modelo y controlador que funcionan, pero no puedo entender cómo especificar rutas.
Para un motor de muestra, 'testy', cada enfoque que intento termina con el mismo error:
ActionController::RoutingError:
No route matches "/testy"
He intentado sintaxis Rspec y Test :: Unit (spec / routing / index_routing_spec.rb):
describe "test controller routing" do
it "Routs the root to the test controller's index action" do
{ :get => '/testy/' }.should route_to(:controller => 'test', :action => 'index')
end
it "tries the same thing using Test::Unit syntax" do
assert_routing({:method => :get, :path => '/testy/', :use_route => :testy}, {:controller => 'test', :action => 'index'})
end
end
He presentado las rutas correctamente (config / routes.rb):
Testy::Engine.routes.draw do
root :to => 'test#index'
end
Y los montó en la aplicación ficticia (spec / dummy / config / routes.rb):
Rails.application.routes.draw do
mount Testy::Engine => "/testy"
end
Y corriendorails server
y solicitandohttp://localhost:3000/testy/
funciona bien.
¿Me estoy perdiendo algo obvio, o esto simplemente no está correctamente integrado en el marco todavía?
Actualizar Como señala @andrerobot, la gente de rspec ha solucionado este problema en la versión 2.14, por lo que he cambiado mi respuesta aceptada en consecuencia.