Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在平衡Ruby客户端中,使用Faraday清除网络调用的最佳方法是什么?_Ruby_Testing_Balanced Payments_Faraday - Fatal编程技术网

什么';在平衡Ruby客户端中,使用Faraday清除网络调用的最佳方法是什么?

什么';在平衡Ruby客户端中,使用Faraday清除网络调用的最佳方法是什么?,ruby,testing,balanced-payments,faraday,Ruby,Testing,Balanced Payments,Faraday,我对法拉第的存根API不是特别熟悉,但通过对它和源代码的随意检查,看起来我需要能够为它提供我自己的价值 这是通过库中的配置选项支持stubbed连接模式的一个步骤,而打开该切换,我可以将其用作一个句柄,用于在测试期间截取任何我期望发生的请求 为各种平衡API调用和/或一些内置存根响应提供示例响应体,作为我自己的存根的模板,这也非常有用 这似乎是一个合理的计划,还是我走错了方向?我该怎么做呢?我建议看一下库的代码是如何编写的。他们用来记录和重播网络通话 虽然与您的确切问题无关,但您也可以在继承自R

我对法拉第的存根API不是特别熟悉,但通过对它和源代码的随意检查,看起来我需要能够为它提供我自己的价值

这是通过库中的配置选项支持stubbed连接模式的一个步骤,而打开该切换,我可以将其用作一个句柄,用于在测试期间截取任何我期望发生的请求

为各种平衡API调用和/或一些内置存根响应提供示例响应体,作为我自己的存根的模板,这也非常有用


这似乎是一个合理的计划,还是我走错了方向?我该怎么做呢?

我建议看一下库的代码是如何编写的。他们用来记录和重播网络通话

虽然与您的确切问题无关,但您也可以在继承自
Resource.rb中
Resource
类的任何对象上使用
construct\u from\u response
方法创建对象的一次性实例。这允许您创建对象的单个实例,如下所示:

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
参数是必需的,否则库将尝试从服务器上查找对象。

可以执行类似的操作。使用gem
webmock

并要求您自己:

stub_request(:get,"https://<your secret key>:@api.balancedpayments.com/v1/customers   email=#<test email>")
.with(:headers => {'Accept'=>'*/*',
                   'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
                   'User-Agent'=>'balanced-ruby/0.7.4'})
.to_return(:status => 200, :body => "", :headers => {})
stub_请求(:get,“https://:@api.balancedpayments.com/v1/customers email=#”)
.with(:headers=>{'Accept'=>'*/*',
“接受编码”=>“gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
“用户代理”=>“balanced-ruby/0.7.4'})
.to_返回(:status=>200,:body=>“”,:headers=>{})