Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为不同的输入模拟参数返回不同的值_Java_Junit_Mockito - Fatal编程技术网

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")