rspec控制器测试中的自定义请求标头作为rack.session传递

时间:2014-05-09 20:00:34

标签: ruby-on-rails rspec

我尝试按照如何传递自定义标题的说明,但它不适合我。这是我在respec测试中调用的内容

post :create, {name:profile.name}, {'X-API-KEY' => 'somekey'}

从我的控制器中我不会在标题中看到它作为X-API-KEY,而是似乎在request.headers [" rack.session"] [" X -API-KEY"]

如何让它不被传递为" rack.session"

1 个答案:

答案 0 :(得分:6)

我今天早上也在挖掘这个问题。问题来自此处http://apidock.com/rails/ActionController/TestProcess/process,因为方法签名看起来像(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')。这对我来说是非常意外的,我会继续看,虽然我不太确定为什么会这样。

为了让它工作,你可以做到

before do request.headers['X-API-KEY'] = 'somekey' end

这可行,但不完全是我想要的get方法。