我已将以下代码放入我的config/environments/test.rb
file:
config.action_mailer.default_url_options = { :host => "localhost:3000" }
但是当我运行测试时,所有路线都使用http://test.host
。我正在尝试使用不接受的 APIhttp://test.host
作为有效的回调 URI,因此我需要更改它以正确接收 API 响应。知道为什么这不起作用吗? (我在测试套件中使用 RSpec、Guard 和 Spork)。
EDIT:可能相关 - 这是在控制器规范内完成的。
EDIT2: 似乎在通过以下方式发出请求后它会发生变化get
, post
等。在测试中运行以下代码:
Rails.logger.debug users_url
get 'http://google.com'
Rails.logger.debug users_url
将产生以下输出:
http://localhost:3000/users
...get request related response here
http://google.com/users
现在您只需将它们设置在您的test.rb
像这样:
Rails.application.routes.default_url_options[:host]= 'localhost:3000'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)