【问题标题】:Faking web requests in Rails test without Fakeweb在没有 Fakeweb 的 Rails 测试中伪造 Web 请求
【发布时间】:2009-11-16 15:26:52
【问题描述】:

我在 Rails 应用程序中使用 Handsoap gem 和 Httpclient gem 作为驱动程序。

如何在测试用例中防止来自 Handsaop/Httpclient gems 的网络调用?

FakeWeb 不支持 Httpclient。

【问题讨论】:

  • 那么你的问题是什么?
  • 如何在测试用例中防止来自 Handsaop/Httpclient gems 的网络调用?

标签: ruby unit-testing httpclient stub handsoap


【解决方案1】:

您可以使用 WebMock http://github.com/bblimke/webmock。支持Httpclient。

【讨论】:

  • 您可以考虑将VCR与WebMock结合使用。
【解决方案2】:

您可以使用 Handsoap 的模拟驱动程序 (Handsoap::Http::Drivers::MockDriver)。请参阅测试中的示例。

【讨论】:

    【解决方案3】:

    没错,FakeWeb 目前只支持基于 Net::HTTP 的库。

    Here's a ticket about adding HttpClient support,它还引用了几个尝试这样做的旧分支。

    【讨论】:

      猜你喜欢
      • 2016-02-29
      • 2011-02-13
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多