在Test :: Unit中解析请求标头

时间:2013-05-08 17:02:58

标签: ruby-on-rails ruby-on-rails-3 http-headers testunit

我正在尝试解析Test :: Unit中的HTTP请求标头,但无济于事。我正在为这样的控制器编写功能测试:

test "create a shopify order" do
  get :order, PARAMS, {HEADER1 => VAL, HEADER2 => VAL}
  assert_response :success # Make sure this returns 200, first off
  ...
end

通常情况下,我会读取request.headers[HEADER1]之类的标题,但这会在Test :: Unit中返回nilrequest未定义。

如何实际获取我在上述请求中设置的标头的值?我如何将它们分配给request?我的应用程序来自webservices,我需要测试标头中传递的值,所以我不想更改我的应用程序代码。我只需要在Test :: Unit中模拟那些请求。

谢谢!

1 个答案:

答案 0 :(得分:1)

知道你正在使用什么样的测试肯定有帮助(感谢Jesse)。我发现我一直在查看集成测试的文档,而不是功能测试,并且设置头在功能测试中的工作方式不同:

http://twobitlabs.com/2010/09/setting-request-headers-in-rails-functional-tests/

所以我没有设置我认为的标题。他们被读得很好 - 只是没有设定。

相关问题