php - PHP S3Client uploadAsync 方法的测试错误处理
问题描述
方法uploadAsync
自动决定并以单个或多个块上传对象。我们可以期待 2 种不同的期望S3Exception
,并且S3MultipartUploadException
在我们的$result['reason']
. 我正在尝试模拟 S3 客户端的一部分以引发异常,我已通过 MockHandler 完成此操作:
$s3->getHandlerList()->setHandler(new MockHandler([$result], null, null));
而且$result
是:
new S3Exception("", new Command("mockCommand"), [
'code' => 'mockCode',
'response' => new Response(401)
])
或者这个:
new S3MultipartUploadException(new UploadState(['testid']))
由于S3MultipartUploadException
不是AwsException
我得到这个异常的实例:
InvalidArgumentException: Expected an Aws\ResultInterface or Aws\Exception\AwsException.
我该如何处理这种情况?
解决方案
我在项目回购中问过这个问题,他们确认这是一个错误https://github.com/aws/aws-sdk-php/issues/2143。
推荐阅读
- codeigniter - 在codeigniter查询的where子句中检查值为空白
- go - 如何使用 Go 最大化每秒 UDP 数据包?
- nginx - NGINX Ingress Controller 和默认后端作为 nginx 服务的 Ingress 有什么区别?
- mysql - 从 SQL 中的变量创建时间戳并将字符串格式化为时间
- flutter - 实施 bloc 技术后无法更新 listview/gridview
- html - 导航栏问题上方的警报
- tsql - 如何转置这些数据
- javascript - 如何使用 array.find 将其与另一个对象进行比较
- aurelia - Aurelia 服务器端渲染 - 避免不必要的客户端 api 调用
- python-3.x - 使用 Selenium 收集的 cookie 的到期日期格式