运行Cucumber测试时Rails应用程序的端口

时间:2011-10-20 18:27:52

标签: ruby-on-rails testing cucumber port

有没有办法在测试中获得在黄瓜测试期间运行rails应用程序的端口?我试过Capybara.server_port,但那是零。

感谢。

2 个答案:

答案 0 :(得分:5)

使用selenium驱动程序时,可以在以下位置找到该端口:

Capybara.current_session.driver.rack_server.port

当使用webkit驱动程序时,可以在以下位置找到它:

Capybara.current_session.driver.server_port

另外,您可以设置

Capybara.server_port

到已知值并使用它。

答案 1 :(得分:3)

我的理解是,如果您使用的是机架测试,默认的Capybara驱动程序,那么实际上并没有任何真正的Web服务器正在运行来发出请求。

如果你想以Cucumber / Capybara的身份查看你的应用程序,那么你需要在选定的端口上手动启动它:

$ RAILS_ENV=test rails s -p 4000

然后在env.rb中有这样的东西:

Capybara.configure do |config|
  config.run_server = false
  config.app_host = "http://localhost:4000"
end
相关问题