Java mockito - 如何在循环中添加return语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java mockito - 如何在循环中添加return语句?相关的知识,希望对你有一定的参考价值。
when(/* some method call*/).thenReturn(mockFetchReturn).thenReturn(mockFetchReturn2)
.thenReturn(mockFetchReturn3);
这工作正常,我可以使用不同的输出调用mocked方法三次。但是我的输出列表可以针对每个测试场景进行更改,但我无法找到如何在基于不同返回的循环中完成此操作。对于例如如果我传递10个mockFetchReturn3对象的列表,那么应该有10个return语句。
答案
只需为评论中提供的答案编写代码:
OngoingStubbing stubbing = when(/* some method call*/);
for (int i = 0; ...) {
subbing.thenReturn(mockFetchReturn(i));
}
或者,您可以将列表传递给
List<String> answers = Arrays.asList(mockFetchReturn, mockFetchReturn, ...);
when(/* some method call*/).thenAnswer(AdditionalAnswers.returnsElementsOf(logEntryList));
以上是关于Java mockito - 如何在循环中添加return语句?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JUnit Test Java 中替换 Mockito 以存根类
如何在 Java 中使用 Mockito 模拟结果集并填充它
Mockito / PowerMockito每次在不同实例的循环中模拟静态方法?