Mockito.when thenReturn на основе входного параметра - PullRequest
0 голосов
/ 11 марта 2020

У меня есть код с шифрованием. В тестах я хочу проанализировать зашифрованный пакет, расшифровать и вернуть результат. Что я хочу, это что-то вроде:

Mockito.when(myClient.sendMessage(someEncryptedRandomMessage)).thenReturn(encrypt(decryptAndAnalyze(someEncryptedRandomMessage)));

Как я могу это реализовать?

1 Ответ

1 голос
/ 11 марта 2020

Существует метод thenAnswer, который может получить доступ к переданным параметрам. Предполагая, что ваш someEncryptedRandomMessage равен String, он будет выглядеть так

Mockito.when(myClient.sendMessage(someEncryptedRandomMessage))
       .thenAnswer(inv -> encrypt(decryptAndAnalyze(inv.getArgumentAt(0, String.class))));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...