Java 为不同的输入模拟参数返回不同的值
我遇到一种情况,当输入发生变化时,我需要返回不同的值,返回值和输入参数都是Java 为不同的输入模拟参数返回不同的值,java,junit,mockito,Java,Junit,Mockito,我遇到一种情况,当输入发生变化时,我需要返回不同的值,返回值和输入参数都是String MethodA.getProperty("", "", "A"); MethodA.getProperty("", "", "B"); 我试图实现的Mockito代码如下 Mockito.when(MethodA.getProperty(Mockito.any(),Mock
String
MethodA.getProperty("", "", "A");
MethodA.getProperty("", "", "B");
我试图实现的Mockito代码如下
Mockito.when(MethodA.getProperty(Mockito.any(),Mockito.any(),Mockito.anyString())).thenReturn("Apple")
Mockito.when(MethodA.getProperty(Mockito.any(),Mockito.any(),Mockito.anyString())).thenReturn("Banana")
我应该用苹果换A,香蕉换B
请在这方面帮助我,提前谢谢。您可以在模拟时比较参数以返回特定值。 例如:
Mockito.when(MethodA.getProperty(Mockito.any(),Mockito.any(), ArgumentMatchers.argThat(x -> x.equals("A")))).thenReturn("Apple")
Mockito.when(MethodA.getProperty(Mockito.any(),Mockito.any(), ArgumentMatchers.argThat(x -> x.equals("B")))).thenReturn("Banana")