处理第三方API与配对排名算法
1. 处理第三方API
在与第三方API交互时,确保代码的健壮性至关重要。以Stripe API为例,当我们断开网络连接并运行集成测试时,会遇到 Stripe::APIConnectionError 错误。这一错误信息指出可能是DNS问题,但实际上往往是网络连接缺失导致的。
为了检查网络连接,我们可以使用 Net::HTTP 库。以下是检查网络连接的示例代码:
require 'net/http'
Net::HTTP.get('example.com', '/index.html')
当网络连接正常时,上述代码会返回网页内容;当没有网络连接时,会抛出 SocketError 异常。
接下来,我们编写测试来验证在没有网络连接时是否会抛出 SocketError 异常:
it 'raises SocketError when there is no Internet connectivity' do
assert_raises SocketError do
Subscription.cancel('bogus customer id')
end
end
然而,此测试最初会失败,提示 Stripe::AuthenticationError ,因为缺少API密钥。为
超级会员免费看
订阅专栏 解锁全文
5111

被折叠的 条评论
为什么被折叠?



