Для моих тестов, я хотел бы окурок/фальсифицировать URL, что тесты с использованием, так что в Rails мой request.host
показывает, как что-то, кроме «www.example.com»Rspec/Capybara/Полтергейст: как заглушить URL?
В моем исследовании, большинство людей предполагают, изменение capybara's app_host
, но это работает только при использовании драйвера по умолчанию. При использовании Poltergeist он действительно перейдет на этот URL.
Есть ли что-нибудь еще, что я могу использовать?
При использовании Capybara/Poltergeist вы выполняете функциональные тесты, которые проверяют полный стек. Вы не должны пытаться заглушить/издеваться над чем-нибудь, когда делаете это (может быть, вам нужна спецификация контроллера вместо?). Кроме того, если вы не используете стандартный тестовый драйвер стойки, вы должны увидеть «127.0.0.1» для request.host в своем приложении (не www.example.com). Вы можете изменить Capybara.app_host на все, что хотите, но тогда вам нужно будет убедиться, что ваш локальный DNS решил, что 127.0.0.1 (/ etc/hosts entry и т. Д.). Возможно, вам нужно объяснить немного больше того, что именно вы пытаетесь сделать. –
Да, я предполагаю, что DNS-решение для 127.0.0.1 - это то, что я хочу (это то, что происходит в процессе разработки), но я немного обеспокоен тем, что может произойти в CI, например CircleCI. Есть ли способ настроить файл хоста с помощью таких сервисов? Это может быть мой лучший выбор. – amclelland
Что именно вы пытаетесь проверить, чтобы это доменное имя изменилось? –