2017-06-21 61 views
1

我正在嘗試使用Rspec/Capybara來測試非ruby應用程序。該應用程序在docker容器中運行,rspec進程在另一個容器中運行。當我進入rspec容器,我可以捲曲應用程序容器沒有問題。但是,當我運行rspec來測試應用程序時,它無法連接。我想要做的第一件事是驗證Rspec調用的url,即它「訪問」的URL。我如何可以驗證該網址如何驗證我的Rspec /水豚測試訪問的完整網址?

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

由於這基本上是一個基於您的設計的跨站點請求,並且您確認了curl工程爲什麼不使用HTTP庫進行測試? – engineersmnky

回答

0

假設你正在使用JS能夠豚驅動程序(硒,騷靈,水豚,WebKit的)之一,並且已經設置了Capybara.run_server = false,因爲你正在測試的應用程序在其他地方推出,visit '/'會嘗試連接到「#{Capybara.app_host} /」,因此無論您將Capybara.app_host設置爲它將連接的位置。

注:如果您使用的racktest司機有用於連接到遠程應用程序根本不支持,並指定任何域名完全被忽略。

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