Mam umieścić następujący kod w moim pliku config/environments/test.rb
:Ustawianie default_url_options w środowisku testowym nie wydają się działać
config.action_mailer.default_url_options = { :host => "localhost:3000" }
jednak gdy uruchomię moich testów, wszystkie trasy używać http://test.host
. Próbuję pracować z interfejsem API, który nie zaakceptuje http://test.host
jako poprawnego identyfikatora URI wywołania zwrotnego, więc muszę to zmienić, aby poprawnie odebrać odpowiedź interfejsu API. Masz pomysł, dlaczego to nie działa? (Używam RSpec, Guard i Spork w moim pakiecie testowym).
EDYCJA: Prawdopodobnie istotne - odbywa się to w specyfikacji kontrolera.
EDIT2: Wygląda na to, że zmienia się ona po wniosek został złożony przez get
, post
itp Running następujący kod w teście:
Rails.logger.debug users_url
get 'http://google.com'
Rails.logger.debug users_url
da następujący wynik:
http://localhost:3000/users
...get request related response here
http://google.com/users
Potwierdzone działanie w Rails 3.0 – parhamr
Akceptowanie na podstawie komentarza @ parhamr. – Nick