Ложный AmazonS3Client без каких-либо зависимостей, как s3mock или s3ninja - PullRequest
0 голосов
/ 05 сентября 2018

Метод в классе использует AmazonS3Client, как показано ниже:

AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                       .withCredentials(new EnvironmentVariableCredentialsProvider())
                       .build();

, за которым следует строка

Response response=s3Client.someMethod(request)

AmazonS3ClientBuilder не может быть осмеянным как последний класс. Более того, я просто случайно попробовал @Mock для AmazonS3, и я просто попробую макетировать строку как:

when(s3Client.someMethod(request)).thenReturn(response)

Это привело к

Невозможно загрузить учетные данные aws для всех поставщиков в цепочке.

Полагаю, это потому, что AmazonS3ClientBuilder все еще активен. Когда я проверил альтернативу, я наткнулся на s3mock, s3ninja, но репозиторий, который я использую для maven, является приватным и не содержит его. Не могли бы вы предложить способ решения этой проблемы?

1 Ответ

0 голосов
/ 05 сентября 2018

Чтобы исключить выполнение метода, вы можете использовать что-то вроде этого:

doNothing().when(someObject).someMethod(anyObject());

, чтобы придать методу нестандартное поведение, используя «when» с «thenReturn»:

doReturn("something").when(this.world).someMethod(anyObject());

Для получения дополнительных примеров, пожалуйста, найдите образцы мокито в документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...