ruby-on-rails - 设置 http header RSpec 2.4/Rails 3

标签 ruby-on-rails rspec cucumber webrat

我开始使用 RSpec。我有一个新的 rails 3 应用程序,它使用 HTTP_ACCEPT_HEADER 或请求 2 字母子域来设置应用程序语言并相应地重定向。我正在使用 Cucumber 成功测试我的重定向代码。

现在我想编写我的 Controller 规范,我需要在测试之前设置请求子域。

在我的 cucumber 步骤中,我可以指定:

header 'HTTP_HOST', 'es.mysite.local'
visit '/'

但是当我尝试在规范文件中执行此操作时
header 'HTTP_HOST', 'es.mysite.local'
get 'index'

我收到此错误:
Failure/Error: header 'HTTP_HOST', "es.mysite.local"
 LoadError:
   no such file to load -- action_controller/integration

关于如何解决这个问题的任何线索?

最佳答案

试试这个:

request.env['HTTP_HOST'] = 'es.mysite.local'
get 'index'

关于ruby-on-rails - 设置 http header RSpec 2.4/Rails 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947943/

相关文章:

ruby-on-rails - 为什么 Ruby 只运行一些测试而不运行其他测试?

ruby-on-rails - Rails, stripe feature test error - 参数缺失或值为空 : charge

java - 钩子(Hook) @Before 和 @after 在开始时被调用两次

ruby - 无法使用 Selenium cucumber 通过 capybara 点击评级图像

ruby-on-rails - 乘客的日志文件在哪里

ruby-on-rails - 如何重构这段 Rails 代码?

ruby-on-rails - 在rails控制台中加载Capistrano的环境

ruby-on-rails - 在 RSpec 测试中跳过 Rails http_basic_authenticate_with

ruby - 为 RSpec 套件中的所有示例设置一次变量(不使用全局变量)

ruby-on-rails - 使用 open_id_authentication 插件时,如何在 RSpec 用户故事/Cucumber 中伪造 OpenID 登录