Мне нужно смоделировать amazonS3.getObject (GetObjectRequest, File) из библиотеки com.amazonaws.services.s3
, чтобы протестировать мой собственный метод, который получает файл из нее.
Мне нужен один тест, где запрошенный объект найден, и все в порядке, и один, где файл не найден в S3 bucked, и затем ReturnRet вернет ноль.
Итак, простой случай - это что-то вроде:
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 (string) - «X», от другого вызова, где objectKey - «Y», и в этом случае я хочу вернуть null для полного тестирования моя функция.
Надеюсь, вопрос ясен?