Rspec-rails: HTTP 标头似乎没有正确传递给请求

创建于 2010-06-02  ·  5评论  ·  资料来源: rspec/rspec-rails

发出这样的请求:

post :create, {}, { "X-BLAH" => "blah" }

最终得到一个带有嵌套在“rack.session”中的指定标头的请求对象:

#<ActionController::TestRequest:0x105e02698 ... "rack.session"=>{"X-BLAH"=>"blah"} ... >

因此,例如,发送 HTTP_AUTHORIZATION 标头不会被authenticate_or_request_with_http_basic

我正在使用宝石:

gem "rails", "3.0.0.beta3"
gem "rspec", "2.0.0.beta.9"
gem "rspec-rails", "2.0.0.beta.9.1"

附: rspec 2 beta4 没有发生这种情况

最有用的评论

请求规范呢?

request即将为零?

谢谢,

所有5条评论

从 beta.8 开始,控制器规范委托给 ActionController::TestCase::Behavior (http://github.com/rails/rails/blob/master/actionpack/lib/action_controller/test_case.rb)。

要设置标头,您可以直接在请求对象上设置它们:

 request.env["X-BLAH"] = "等等"
后:创建,....

太好了,感谢您的快速回复。 我在哪里可以找到文档?

请求规范呢?

request即将为零?

谢谢,

Woops 看起来像#request_via_redirect可以解决问题

http://guides.rubyonrails.org/testing.html#helpers -available-for-integration-tests

此页面是否有帮助?
0 / 5 - 0 等级