PHP S3Client uploadAsync 方法的测试错误处理

Test error handling of the PHP S3Client uploadAsync method

方法uploadAsync 自动决定并上传单个或多个块中的对象。我们可以在 $result['reason'] 中期待 2 种不同的期望 S3ExceptionS3MultipartUploadException。我正在尝试模拟 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