Rails:rspec 中 url 帮助程序的主机名错误

2024-02-11

Url 帮助程序(例如 root_url)在应用程序控制器与 rspec 示例中返回不同的主机名。 我已经成功地在我的 Rails 应用程序中设置了 url 助手的域,如下所示:

class ApplicationController < ActionController::Base
  def default_url_options
    {host: "foo.com", only_path: false}
  end
end

例如, root_url 在应用程序中输出“http://foo.com/”,但在我的请求规范中输出“http://example.com”。在 Rails 3.2 中全局应用这些 url 选项的推荐方法是什么,以便它们影响我的规格? url 选项不需要是动态的。


在功能规格中,主机!已被弃用。将这些添加到您的 rspec_helper.rb 中:

# Configure Capybara expected host
Capybara.app_host = 'http://lvh.me:3000'

# Configure actual routes host during test
before(:each) do
  if respond_to?(:default_url_options)
    default_url_options[:host] = 'http://lvh.me:3000'
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails:rspec 中 url 帮助程序的主机名错误 的相关文章

随机推荐