2017-06-21 1 views
1

ルビー以外のアプリをテストするためにRspec/Capybaraを使用しようとしています。アプリはドッカーコンテナで実行され、rspecプロセスは別のコンテナで実行されます。私がrspecコンテナにシェルすると、問題なくアプリケーションコンテナをカールできます。しかし、アプリケーションをテストするためにrspecを実行すると、接続できません。私がしたい最初のことは、Rspecが呼び出しているURL、つまり訪問しているURLを確認することです。私は、visit '/'あなたはJS可能カピバラドライバ(セレン、ポルターガイスト、カピバラ-のWebKit)のいずれかを使用している、とあなたはアプリが別の場所に立ち上げたテストしているので、Capybara.run_server = false設定していると仮定すると、このURL私のRspec/Capybaraテストが訪問する完全なURLを確認するにはどうすればよいですか?

RSpec.feature 'user visits homepage', type: :feature do 
    scenario 'default' do 
    visit '/' # <- how can i print out what url this points to? 
    expect(page).to have_content('test content') 
    end 
end 
+0

これは本質的にデザインに基づいたクロスサイトリクエストであり、テストではHTTPライブラリを使用しない理由がわかりましたか? – engineersmnky

答えて

0

を確認することができますどのように"#{Capybara.app_host} /"に接続しようとするので、Capybara.app_hostに設定したものはどこに接続するのでしょうか。

注:ラックテストドライバを使用している場合、リモートアプリケーションへの接続はまったくサポートされておらず、指定されたドメイン名は完全に無視されます。

0
RSpec.feature 'user visits homepage', type: :feature do 
scenario 'default' do 
    visit '/' 
    puts current_url 
    expect(page).to have_content('test content') 
end 
end 
関連する問題