ich den folgenden Code in meine config/environments/test.rb
Datei gesetzt haben:Einstellung default_url_options in Testumgebung scheint nicht zu funktionieren
config.action_mailer.default_url_options = { :host => "localhost:3000" }
aber wenn ich meine Tests ausführen, werden alle Routen verwenden http://test.host
. Ich versuche, mit einer API zu arbeiten, die http://test.host
nicht als gültigen Rückruf-URI akzeptiert, also muss ich dies ändern, um die API-Antwort richtig zu erhalten. Irgendeine Idee, warum das nicht funktioniert? (Ich verwende RSpec, Guard und Spork in meiner Testsuite).
EDIT: Möglicherweise relevant - dies wird innerhalb einer Controller-Spezifikation durchgeführt.
EDIT2: Es scheint, dass sie sich ändert, nachdem eine Anfrage über get
gemacht wird, post
usw. Das Ausführen des folgenden Code innerhalb des Test:
Rails.logger.debug users_url
get 'http://google.com'
Rails.logger.debug users_url
würde erzeugen die folgende Ausgabe:
http://localhost:3000/users
...get request related response here
http://google.com/users
Bestätigte Arbeit in Rails 3.0 – parhamr
Akzeptieren basierend auf @ Parhamrs Kommentar. – Nick