Testowanie subdomen - Capybara i Selenium

Próbuję testować subdomeny w railsach, tak by przykładowo:

root_path

nie odnosiło się do adresu localhost, ale do sub.myapp.test.local

Dla testów rspec’a i cucumber’a wystarczy, że ustawię:

host = "#{subdomain}.#{AppConfig['base_domain']}" Capybara.default_host = host
ale kiedy próbuję testować strony z javascriptem za pomocą selenium robię to w ten sposób:

if Capybara.current_driver == :selenium host = "#{subdomain}.#{AppConfig['base_domain']}" Capybara.app_host = "http://#{host}:4000" Capybara.server_port = 4000 end
Wtedy podczas testów odpala się firefox i przeklikuje przez strony.

Niestety muszę ręcznie do pliku /etc/hosts dodać wpis:
127.0.0 sub.myapp.test.local

Czy można skonfigurować Capybare i Selenium tak, by nie trzeba było edytować pliku /etc/hosts ?

Moze http://tbaggery.com/2010/03/04/smack-a-ho-st.html pomoze :slight_smile: lvh.me dziala na tej samej zasadzie.

Dzięki, to dość wygodne rozwiązanie.

Myślałem jeszcze nad gem’em ghost: https://github.com/bjeanes/ghost
Wymaga on jednak uprawnień roota. Projekt nad którym pracuje pobierany jest przez wiele osób i fajnie by było gdyby z automatu, podczas setup’u instalował im się ghost gem - przykładowo po uruchomieniu bundlera, czy rake tasków.
Jest jakiś sposób by go instalować, ewentualnie żądać od użytkownika hasła roota, jeśli będzie potrzebne?