设置http标头RSpec 2.4/Rails 3

gde*_*ino 17 rspec ruby-on-rails webrat cucumber

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

现在我想编写我的控制器规范,我需要在测试之前设置请求子域.

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

header 'HTTP_HOST', 'es.mysite.local'
visit '/'
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在spec文件中执行此操作时

header 'HTTP_HOST', 'es.mysite.local'
get 'index'
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Failure/Error: header 'HTTP_HOST', "es.mysite.local"
 LoadError:
   no such file to load -- action_controller/integration
Run Code Online (Sandbox Code Playgroud)

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

zet*_*tic 30

试试这个:

request.env['HTTP_HOST'] = 'es.mysite.local'
get 'index'
Run Code Online (Sandbox Code Playgroud)