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?
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! –
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 –