我正在测试带有Carrierwave Uploader的模型的JSON API,但我只允许通过remote_url上传,所以我需要一些方法来获取公共资产中的文件的HTTP地址,因为我知道那些永远存在。
换句话说:
当Rails服务器运行时,我有"http://localhost:3000/assets/logo.png"
的静态资产。在Cucumber运行时我需要该文件的地址 - 也就是说,我需要在运行Cucumber时提供静态文件,以便Rails应用程序的不同部分可以“下载”该文件。
编辑:这些测试不是使用浏览器运行的,尽管(截至最近),它们是使用会话运行的。我可能正在使用Cucumber,但我没有使用任何代码或启动Capybara。
答案 0 :(得分:2)
答案 1 :(得分:0)
我认为你可以通过使用这些来获取黄瓜开始的测试服务器的根uri:
对于水豚< 2.0:
Capybara.current_session.driver.rack_server.host
Capybara.current_session.driver.rack_server.port
Capybara 2.0:
Capybara.current_session.server.host
Capybara.current_session.server.port