Java Mockito.when然后根据输入参数返回

Java Mockito.when然后根据输入参数返回,java,unit-testing,testing,mockito,Java,Unit Testing,Testing,Mockito,我有一些加密代码。在测试中,我想分析加密的数据包,解密并返回结果。我想要的是: Mockito.when(myClient.sendMessage(someEncryptedRandomMessage)).thenReturn(encrypt(decryptAndAnalyze(someEncryptedRandomMessage))); 我如何实现它?有一个thenAnswer方法可以访问传递的参数。假设您的someEncryptedRandomMessage是String,它将如下所示 M

我有一些加密代码。在测试中,我想分析加密的数据包,解密并返回结果。我想要的是:

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

我如何实现它?

有一个
thenAnswer
方法可以访问传递的参数。假设您的
someEncryptedRandomMessage
String
,它将如下所示

Mockito.when(myClient.sendMessage(someEncryptedRandomMessage))
.thenAnswer(inv->encrypt(decryptandalyze(inv.getArgumentAt(0,String.class)));