Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 如何让mocked方法为任何参数返回不同的值(从数组中)?_Java_Mocking_Mockito - Fatal编程技术网

Java 如何让mocked方法为任何参数返回不同的值(从数组中)?

Java 如何让mocked方法为任何参数返回不同的值(从数组中)?,java,mocking,mockito,Java,Mocking,Mockito,我有一个方法findSubmission。假设我在数组提交中有可能的返回值。现在,我通过他们的指数返回。但是我想一个接一个地返回提交的所有值,而不是像我现在这样使用它们的索引 when(submissionService.findSubmission(Mockito.anyLong())).thenReturn(submission[0], submission[1], submission[2], submission[3], submission[4]) 您可以使用: import org

我有一个方法findSubmission。假设我在数组提交中有可能的返回值。现在,我通过他们的指数返回。但是我想一个接一个地返回提交的所有值,而不是像我现在这样使用它们的索引

when(submissionService.findSubmission(Mockito.anyLong())).thenReturn(submission[0], submission[1], submission[2], submission[3], submission[4])
您可以使用:

import org.mockito.AdditionalAnswers;

when(submissionService.findSubmission(Mockito.anyLong())).thenAnswer(AdditionalAnswers.returnsElementsOf(Arrays.asList(submission)));
您可以使用:

import org.mockito.AdditionalAnswers;

when(submissionService.findSubmission(Mockito.anyLong())).thenAnswer(AdditionalAnswers.returnsElementsOf(Arrays.asList(submission)));

几乎是,但也不是完全重复的,最好继续并养成格式化代码的习惯!谢谢你的建议,几乎是但也不是完全重复的,最好继续,养成格式化代码的习惯!谢谢你的建议谢谢大家!非常感谢,伙计们!