ruby - 在 Balanced Ruby 客户端中使用 Faraday 阻止网络调用的最佳方法是什么?

标签 ruby testing balanced-payments faraday

我对 Faraday 的 stub API 不是特别熟悉,但通过对其和 Balanced::Client 的来源进行了随意检查。 ,看起来我需要能够为 Balanced::Client.conn 提供我自己的值.

这是通过库中的配置选项支持 stub 连接模式的一步,而打开该开关,我可以只使用 Balanced::Client.conn作为 stub 我期望在测试期间发生的任何请求的句柄。

为各种 Balanced API 调用和/或一些内置 stub 响应提供示例响应正文以用作我自己的 stub 模板也非常有用。

这看起来是一个合理的计划,还是我正朝着错误的方向前进?我该如何去做呢?

最佳答案

我建议看看unit tests是如何对于 balanced-ruby库是写的。他们使用VCR记录和重播网络调用。

虽然与您的确切问题无关,但您还可以通过在继承自 Resource 类的任何对象上使用 construct_from_response 方法来创建对象的一次性实例resource.rb。这允许您创建对象的单个实例,如下所示:

1.9.3p194 :034 > payload = {:name"=>"Bob", :uri=>"/v1/marketplaces/M123/accounts/fake"} 
1.9.3p194 :035 > account = Balanced::Account.construct_from_response payload
1.9.3p194 :036 > account.name
 => "Bob" 

请注意,有效负载中的 uri 参数是必需的,否则库将尝试从服务器查找对象。

关于ruby - 在 Balanced Ruby 客户端中使用 Faraday 阻止网络调用的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890336/

相关文章:

PHP cURL 请求无法平衡付款

ruby - 无法在 Windows 8 上安装 Ruby DevKit

ruby-on-rails - Mongo Ruby 驱动程序无法连接到副本集主

testing - 软件开发测试人员

javascript - Newman + Postman 通过命令行指定单个环境变量

ios - 将 curl 请求转换为 AFNetworking 2.0

ruby - puppet 4.10.4 : Master not reading manifest

ruby - 无法让 Rails rake 任务与 crontab 一起玩

c# - 无法在 protected 方法的单元测试的适当方法之间做出决定

payment - 平衡支付 - 托管账户和(市场)商户余额之间的区别?