ステーキ仕様からuser1.application.local.dev/panel/newにアクセスします。Rails3:Capybaraを使用してステーキ(rspec)仕様のサブドメインにアクセスするには
どうすればよいですか?
ステーキ仕様からuser1.application.local.dev/panel/newにアクセスします。Rails3:Capybaraを使用してステーキ(rspec)仕様のサブドメインにアクセスするには
どうすればよいですか?
ステップ1.ローカルDNSを設定して必要なときにdefault_host
を設定します。
http://intridea.com/2010/6/2/using-bind-locally-on-os-x-for-easy-access-to-subdomains?blog=company
ステップ2.サブドメインをサポートカピバラドライバを使用してください。
セレンまたはアケファロスがこのトリックを行います。
仕様/サポート/ 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
これはカピバラの質問です。あなたはそれが
Capybara.default_host = 'sub.domain.com'
こののみ動作しますが、ラック・テストを使用していない場合:
今、すべての回あなたが行うサブドメインの変更したいです。これは、セレンとAkephalosで動作します。 – Nerian
答えが本当に役に立ちました! –