2010-12-19 3 views

답변

6

1 단계. 로컬 DNS를 설정하십시오.

http://intridea.com/2010/6/2/using-bind-locally-on-os-x-for-easy-access-to-subdomains?blog=company

단계 2. 하위 도메인을 지원 카피 바라 드라이버.

Selenium 또는 Akephalos가 속임수를 사용합니다.

사양/지원/custom_env을 만들고이 콘텐츠를 넣어 :

#Capybara.default_driver = :selenium 
Capybara.default_driver = :akephalos 
Capybara.app_host = 'http://davinci.testing.dev:8082' 
Capybara.run_server = false 
Capybara.server_port = 8082 

원하는 카피 바라 드라이버를 선택하거나 셀레늄 또는 akpehalos 또는 랙 테스트 (기본값)을 제외하고, 원하는대로

도메인과 포트를 선택하십시오.

3 단계 : | 설정

귀하의 사양/spec_helper.rb

RSpec.configure이 할 수있는 config.before 블록을 추가 |
config.before : 각 물론, 당신의 선택의 도메인과 포트를 넣어 Capybara.app_host = "http://davinci.testing.dev:8082" 끝

을한다.

4 단계 :

도우미를 추가하여 하위 도메인을 전환하십시오.

def switch_to_subdomain(subdomain) 
    Capybara.app_host = "http://#{subdomain}.davinci.testing.dev:8082" 
end 

사양/승인/지원/helpers.rb 물론, 당신의 선택의 도메인과 포트를 넣습니다.

5 단계. 귀하의 사양에 도우미 방법을 사용하십시오.

지금 모든 시간 당신은 하위 도메인의 변경하려는 당신이 할 : 당신이 랙 테스트를 사용하지 않는

scenario "Show school" do       
    school = School.make!(:name=>"perico") 
    switch_to_subdomain(school.name)  
    visit("/")      
    page.has_content?("Welcome to perico") 
end 
+0

답변이 정말 도움이되었습니다! –

4

이것은 카피 바라 질문입니다. 필요한 경우 default_host을 설정하십시오.

Capybara.default_host = 'sub.domain.com' 
+0

이 경우에만 작동합니다. Selenium 및 Akephalos와 함께 작동합니다. – Nerian

관련 문제