【发布时间】:2018-11-09 20:54:47
【问题描述】:
我需要从 com.amazonaws.services.s3 库中模拟 amazonS3.getObject(GetObjectRequest, File),以测试我自己的从中获取文件的方法。
我需要一项测试,其中找到了所请求的对象并且一切正常,以及一项在 S3 中未找到文件的测试,然后返回将返回 null。
所以简单的情况是这样的:
ObjectMetadata objectMetadata = new ObjectMetadata();
Mockito.lenient().when(amazonS3.getObject(any(GetObjectRequest.class), any(File.class))).thenReturn(objectMetadata);
我如何复制和修改它以允许根据对象输入进行不同的返回?
在函数本身中,这就是作为 GetObjectRequest 提供的内容:
GetObjectRequest getObjectRequest = new GetObjectRequest(this.getBucketName(), objectKey);
所以我们需要将any(GetObjectRequest.class) 更改为能够区分objectKey(字符串)为“X”的对象和objectKey 为“Y”的另一个调用,在这种情况下,我想返回null 以进行全面测试我的功能。
我希望问题很清楚?
【问题讨论】: