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