2010-08-08 6 views
8

Ho provato a utilizzare il metodo consigliato (dalle guide delle guide) per verificare i percorsi generati nei plugin, ma il test continua a non riuscire.Come posso testare i percorsi nei plugin Rails 3?

Cosa c'è di strano è che se ricarico i percorsi dopo aver creato il percorso (o almeno così credo), il test ha esito negativo, ma se lascio il test passare attraverso una volta (ad esempio utilizzando autotest), quindi il percorso viene riconosciuta sulla successiva tentativi.

Ecco il codice:

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 

Qualsiasi idea di come farlo passare tutto il tempo?

+0

Potresti scrivere gli errori con cui i test hanno esito negativo? – khebbie

+0

Il percorso funziona se si esegue la stessa funzione reload_routes durante l'esecuzione dell'applicazione? Cioè, funziona se si limita la linea mentre si è in modalità dev? – jasonpgignac

risposta

1

Hmm. Il README per rspec-rails-2 per rails-3 a http://github.com/rspec/rspec-rails ha una sezione "Specifiche di routing". Non è necessario il before :all con l'ultimo RSpec, forse?

+0

Grazie a Ed, ma sto guardando le rotte generate attraverso i plugin e i metodi plugin, non attraverso il file routes.rb in un'applicazione. – btelles