1

我正在为带有 Carrierwave Uploader 的模型测试 JSON API,但我只允许通过 remote_url 上传,所以我需要一些方法来获取我的公共资产中文件的 HTTP 地址,因为我知道那些会总是在身边。

换一种方式:

当 Rails 服务器运行时,我在"http://localhost:3000/assets/logo.png". 在 Cucumber 运行时我需要该文件的地址——也就是说,我需要在运行 Cucumber 时提供一个静态文件,以便 Rails 应用程序的不同部分可以“下载”该文件。

编辑:这些测试不是用浏览器运行的,尽管(最近)它们是用会话运行的。我可能正在使用 Cucumber,但我没有编写任何代码来使用或启动 Capybara。

4

2 回答 2

2

如果我正确理解你的问题。您可能想研究FakewebWebmock 之类的东西来服务/模拟外部请求。

于 2013-07-30T15:32:08.030 回答
0

我认为您可以使用以下命令获取黄瓜启动的测试服务器的根 uri:

对于水豚 < 2.0:

Capybara.current_session.driver.rack_server.host
Capybara.current_session.driver.rack_server.port

水豚2.0:

Capybara.current_session.server.host
Capybara.current_session.server.port
于 2013-07-23T16:41:23.233 回答