Как установить HTTP_REFERER в определениях шагов огурца + капибара?

Как я могу установить заголовок запроса HTTP_REFERER для запроса, сделанного из определения шага огурца с использованием capybara?

Погуглил, я попробовал следующее, но ничего из этого не сработало:

header 'Referer', 'http://example.com/'
ENV['HTTP_REFERER'] = 'http://example.com/'
get '/', {}, { 'HTTP_REFERER' => 'http://example.com/' }
get '/', nil, { 'HTTP_REFERER' => 'http://example.com/' }
request.env['HTTP_REFERER'] = 'http://example.com/' # raises ArgumentError

visit '/'

Я печатаю request.env ['HTTP_REFERER'] в контроллере, чтобы доказать, что он не проходит. Если я тестирую контроллер с помощью веб-браузера, реферер печатается правильно.

Обратите внимание, что трехпараметрическое использование get выше, на самом деле действительно получает HTTP_REFERER в среду запроса, наблюдаемую контроллером, но, похоже, это нарушает запрос таким образом, что я не могу понять ; все, что отображается, - это элемент документа.

Я использую драйвер огурца по умолчанию, Cucumber :: RackTest :: Driver, с cucumber-1.1.3, cucumber-rails-1.2.0 и capybara-1.1.2.

11
задан sheldonh 7 December 2011 в 10:12
поделиться