Приложение Port of Rails при тестировании Cucumber - PullRequest
3 голосов
/ 20 октября 2011

Есть ли способ получить в тесте порт, на котором работает приложение rails во время теста на огурец?Я попробовал Capybara.server_port, но это ноль.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 16 ноября 2011

При использовании драйвера селена порт можно найти по адресу:

Capybara.current_session.driver.rack_server.port

и при использовании драйвера webkit его можно найти по адресу:

Capybara.current_session.driver.server_port

Альтернатива, вы можете установить

Capybara.server_port

до известного значения и используйте его.

3 голосов
/ 24 октября 2011

Насколько я понимаю, если вы используете стоечный тест, драйвер Capybara по умолчанию, то на самом деле не существует никакого реального веб-сервера, выполняющего запросы к нему.

Если вы хотите просмотреть свое приложение так, как это делает Cucumber / Capybara, вам нужно будет запустить его вручную на выбранном порту:

$ RAILS_ENV=test rails s -p 4000

А потом что-нибудь подобное в env.rb:

Capybara.configure do |config|
  config.run_server = false
  config.app_host = "http://localhost:4000"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...