如何验证我的Rspec / Capybara测试访问的完整网址?

时间:2017-06-21 16:59:30

标签: ruby rspec capybara

我正在尝试使用Rspec / Capybara来测试非ruby应用。该应用程序在docker容器中运行,而rspec进程在另一个容器中运行。当我进入rspec容器时,我可以毫无问题地卷曲app容器。但是当我运行rspec来测试应用程序时,它无法连接。我要做的第一件事是验证Rspec正在调用的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

2 个答案:

答案 0 :(得分:0)

假设您正在使用其中一个具有JS功能的Capybara驱动程序(selenium,poltergeist,capybara-webkit),并设置Capybara.run_server = false,因为您正在测试在其他位置启动的应用程序,{{1会尝试连接到&#34;#{Capybara.app_host} /&#34;,所以无论你将visit '/'设置为它所连接的位置。

注意:如果您正在使用racktest驱动程序,则根本不支持连接到远程应用程序,并且完全忽略指定的任何域名。

答案 1 :(得分: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