2011-10-20 3 views
3

오이 테스트 중에 레일 앱이 실행되는 포트를 테스트 할 수 있습니까? 나는 Capybara.server_port를 시도했다. 그러나 그것은 nil 다.오이 테스트를 실행할 때 Rails 앱 포트

감사합니다.

+0

가능한 복제본 [Cucumber/Capybara - 현재 실행중인 호스트와 포트를 얻는 방법] (http://stackoverflow.com/questions/6791601/cucumber-capybara-how-to-the-host -and-current-execution) –

+0

[레일스 인스턴스가 실행중인 로컬 포트를 찾는 방법] (http://stackoverflow.com/questions/1554267/how-to-find)의 복제본이있을 수 있습니다. - local-port-a-rails-instance-is-running-on) –

답변

5

셀레늄 드라이버를 사용 는 포트에 있습니다 웹킷 드라이버를 노래,에서 찾을 수 있습니다

Capybara.current_session.driver.server_port 

대체, 당신은 알려진 값에

Capybara.server_port 

을 설정하고 사용할 수 있습니다.

3

내 이해는 기본 Capybara 드라이버 인 랙 테스트를 사용하는 경우 요청을하기 위해 실제로 실행되는 웹 서버가 실제로 없다는 것을 이해합니다.

당신은 오이와 같은 응용 프로그램을 표시 할 경우/카피 바라가, 당신이 선택한 포트를 수동으로 시작해야 할 것 같습니다

$ RAILS_ENV=test rails s -p 4000 

그리고 env.rb이 같은 뭔가를 :

Capybara.current_session.driver.rack_server.port 

때를 U :

Capybara.configure do |config| 
    config.run_server = false 
    config.app_host = "http://localhost:4000" 
end 
관련 문제