mockito-how to access.when参数in.thenreturn方法?

i5desfxk  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(253)

.get() 我的方法 getter 对象,它通常向api发送请求。对于getter对象的模拟版本,我想要 .getFile() 返回调用结果 reader.readLocalFile() 使用相同的参数(以避免发出真正的http请求)。
我当前的代码如下:

Mockito.when(mockGetter.get(file1)).thenReturn(reader.readLocalFile(file1));
Mockito.when(mockGetter.get(file2)).thenReturn(reader.readLocalFile(file2));
Mockito.when(mockGetter.get(file3)).thenReturn(reader.readLocalFile(file3));
(etc.)

哪里 file1 , file2 以及 file3 是字符串文字。
有没有可能让它看起来更像下面这样?

Mockito.when(mockGetter.get(someString)).thenReturn(reader.readLocalFile(thatSameString));
y4ekin9u

y4ekin9u1#

mockito答案可用于访问mock的参数,大致如下:

Answer<String> answer = inv -> reader.readLocalFile(inv.getArgument(0));
doAnswer(answer).when(mockGetter).get(anyString());

相关问题