Как установить env['SERVER_NAME'] в стойку/тест?

В тестах Sinatra env['SERVER_NAME'] по умолчанию равно www.example.com. Как я могу установить это в какой-то произвольный домен?

У Capybara есть метод .default_host, но он не использует Capybara.

Или можно ли изменить env[DEFAULT_HOST]?

Использование RSpec, Sinatra, WebMock.

РЕДАКТИРОВАТЬ: добавление env['SERVER_NAME'] = 'www.foo.com' к тесту RSpec вызывает исключение:

NameError: undefined local variable or method 'env' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fe6ce3b5ff8>


person B Seven    schedule 28.12.2012    source источник


Ответы (1)


Помощник env доступен только в приложении Sinatra.

Один из способов изменить его — сделать запрос:

get "/blah", {}, {'HTTP_SERVER_NAME' => 'www.foo.com' }

Третий аргумент стойки/теста get или post — это хэш заголовков.

person iain    schedule 29.12.2012