스테이크 사양에서 user1.application.local.dev/panel/new에 액세스하고 싶습니다.Rails3 : Capybara를 사용하여 스테이크 (rspec) 사양의 하위 도메인을 방문하려면
어떻게해야합니까?
스테이크 사양에서 user1.application.local.dev/panel/new에 액세스하고 싶습니다.Rails3 : Capybara를 사용하여 스테이크 (rspec) 사양의 하위 도메인을 방문하려면
어떻게해야합니까?
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
이것은 카피 바라 질문입니다. 필요한 경우 default_host
을 설정하십시오.
Capybara.default_host = 'sub.domain.com'
이 경우에만 작동합니다. Selenium 및 Akephalos와 함께 작동합니다. – Nerian
답변이 정말 도움이되었습니다! –