Jedna z moich specyfikacji kończy się niepowodzeniem, gdy uruchomię ją za pomocą "specyfikacji rake", ale przechodzi, gdy używam pliku wykonywalnego RSpec "spec". Specyfikacja nie powiedzie się, gdy używam pomocnika url w widoku ActionMailer. Komunikat o błędzie:Specyfikacja RSpec nie powiedzie się po wywołaniu za pomocą "specyfikacji rake", przechodzi po wywołaniu przez "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"}
: stan i: ślimak są wymagane dla adresu URL. Trasa wygląda następująco:
map.auction ':state/:slug', :controller => 'auctions', :action => 'show'
ustawić host, który jest potrzebny do korzystania z pomocników URL w widokach ActionMailer w plikach środowiska:
ActionMailer::Base.default_url_options[:host] = 'myhost.com'
Co może być problemem? Dlaczego "specyfikacja rake" zachowuje się inaczej niż "spec spec"? Wszystko, co jest załadowane/nie jest załadowane podczas korzystania z jednego lub drugiego?
działa nawet gdy wywoływany przez „Ruby specyfikacji/...”, więc to musi być coś z mojego środowiska natarcia/Rakefile. Zawartość mojego Rakefile nie została zmieniona ze standardowych rzeczy, które Rails mi podarował: require (File.join (File.dirname (__ FILE__), 'config', 'boot')) wymagają 'rake' require 'rake/testtask' wymagają 'rake/rdoctask' wymagają "zadań/torów" Proszę, każdy, zatracam swój umysł nad tym! –
Moja odpowiedź została usunięta (dzięki uprzejmości @ bhargav-rao) jako duplikat http://stackoverflow.com/questions/15701298/rspec-spec-rake-spec-gives-different-result/41877864#41877864 –