2010-08-08 14 views
8

He tratado de usar la forma recomendada (desde las Guías de rieles) para probar rutas generadas en complementos, pero la prueba sigue fallando.¿Cómo pruebo las rutas en los complementos de Rails 3?

Lo que es extraño es que si vuelvo a cargar las rutas DESPUÉS de crear la ruta (o eso creo), la prueba falla, pero si dejo que la prueba se realice una vez (por ejemplo, usando autotest), la ruta se reconoce en posteriores intentos.

Aquí está el código:

describe "named route report_with_last_name_smith_path" do 
    before :all do 
    Reports::Application.routes.draw do 
     match "/report_some_report_for_us" => "report#report_some_report_for_us", 
       :as => :report_some_report_for_us 
    end 
    Rails.application.reload_routes! # If I leave this out, then the test 
            # passes the second time that autotest/autospec 
            # go through. 
    end 
    it "route for every record" do 
    {:get => '/report_some_report_for_us'}.should route_to(:controller => 'report', :action => 'report_some_report_for_us') 
    end 
end 

alguna idea de cómo hacer pasar todo el tiempo?

+0

¿Podría escribir los errores con los que fallan las pruebas? – khebbie

+0

¿Funciona la ruta si ejecuta la misma función reload_routes durante la ejecución de la aplicación? Es decir, ¿funciona si solo ingresas esa línea mientras estás en modo dev? – jasonpgignac

Respuesta

1

Hmm. El archivo README para rspec-rails-2 para rails-3 en http://github.com/rspec/rspec-rails tiene una sección de "Especificaciones de enrutamiento". No es necesario el before :all con el último RSpec, tal vez?

+0

Gracias Ed, pero estoy buscando rutas generadas a través de plugins y métodos de complemento, no a través del archivo routes.rb en una aplicación. – btelles

Cuestiones relacionadas