ssig33.com

Capybara WebKit でサブドメインを使ったサイトをテストする

という地獄の話です。

spec_helper.rb に以下のようなことを書きます。

s = TCPServer.open(0)
CAPYBARA_PORT = s.addr[1]
s.close 
Capybara.server_port = CAPYBARA_PORT

テストの中では以下のようにします。

# サブドメインつかない時のテスト
Capybara.app_host = "http://localhost:#{CAPYBARA_PORT}"
visit '/hogehoge'

# サブドメインでのテスト
Capybara.app_host = "http://subdomain.localhost:#{CAPYBARA_PORT}"
visit '/hogehoge'

back to index of texts


Site Search