2010-03-02 13 views
6

Una delle mie specifiche fallisce quando la eseguo tramite "rake spec" ma passa quando uso l'eseguibile "spec" di RSpec. La specifica fallisce quando uso un helper url in una vista ActionMailer. Il messaggio di errore è:La specifica RSpec fallisce quando viene invocata tramite "rake spec", passa quando viene invocata tramite "spec spec"

auction_url failed to generate from {:action=>"show", :state=>"asd", :slug=>"asd", :controller=>"auctions"}, expected: {:action=>"show", :controller=>"auctions"}, diff: {:state=>"asd", :slug=>"asd"} 

: stato e: slug sono attributi necessari per l'url, però. Il percorso è simile al seguente:

map.auction ':state/:slug', :controller => 'auctions', :action => 'show' 

ho impostato il padrone di casa, che è necessario utilizzare le guide url nelle viste ActionMailer, nei file di ambiente:

ActionMailer::Base.default_url_options[:host] = 'myhost.com' 

Quale potrebbe essere il problema? Perché la "specifica rake" si comporta in modo diverso da "spec spec"? Tutto ciò che viene caricato/non caricato quando si utilizza uno o l'altro?

+0

Funziona anche quando viene richiamato tramite "ruby spec/...", quindi deve essere qualcosa con il mio ambiente rake/Rakefile. il contenuto del mio Rakefile non sono stati modificati dalle rotaie roba standard mi ha dato: richiedono (File.join (File.dirname (__ FILE__), 'config', 'stivale')) richiedono 'rake' richiedono 'rake/testtask' richiede 'rake/rdoctask' richiede 'tasks/rails' Per favore, nessuno, sto perdendo la testa per questo! –

+0

La mia risposta è stata cancellata (per gentile concessione di @ bhargav-rao) come duplicata di http://stackoverflow.com/questions/15701298/rspec-spec-rake-spec-gives-different-result/41877864#41877864 –

risposta

1

Mi rendo conto che questo è un po 'vecchio, ma comunque - ho appena incontrato lo stesso problema, non per la prima volta. Poi, quando ho iniziato a inserire le dichiarazioni di debug nelle specifiche non riuscite per capire cosa stava succedendo - le specifiche del rake funzionavano di nuovo. Quindi sospetto una sorta di memorizzazione nella cache quando spec è coinvolto nel rake. Se ciò si verifica di nuovo, forse provare a eseguire

rake tmp:cache:clear 

o anche

rake tmp:clear 
Problemi correlati