Nic*_*ick 6 testing rspec ruby-on-rails-3
我已将以下代码放入我的config/environments/test.rb
文件中:
config.action_mailer.default_url_options = { :host => "localhost:3000" }
Run Code Online (Sandbox Code Playgroud)
但是当我运行我的测试时,所有路由都会使用http://test.host
.我正在尝试使用不接受http://test.host
作为有效回调URI 的API ,所以我需要更改它以正确接收API响应.知道为什么这不起作用吗?(我在我的测试套件中使用RSpec,Guard和Spork).
编辑:可能相关 - 这是在控制器规范内完成的.
EDIT2:它似乎一个请求通过后作出改变get
,post
等运行测试中下面的代码:
Rails.logger.debug users_url
get 'http://google.com'
Rails.logger.debug users_url
Run Code Online (Sandbox Code Playgroud)
会产生以下输出:
http://localhost:3000/users
...get request related response here
http://google.com/users
Run Code Online (Sandbox Code Playgroud)
rus*_*sty 12
现在你可以在你的test.rb
喜欢中设置它们:
Rails.application.routes.default_url_options[:host]= 'localhost:3000'
Run Code Online (Sandbox Code Playgroud)
Rails.application.routes.default_url_options[:host]= 'localhost:3000'
在developemnt.rb/test.rb中,可以更简洁的如下:
Rails.application.configure do
# ... other config ...
routes.default_url_options[:host] = 'localhost:3000'
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6092 次 |
最近记录: |