在没有Fakeweb的情况下在Rails测试中伪造Web请求

时间:2009-11-16 15:26:53

标签: ruby unit-testing httpclient stub handsoap

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

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

FakeWeb不支持Httpclient。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

Here's a ticket about adding HttpClient support,它也引用了一些尝试这样做的旧叉子。