从模拟方法返回传递的参数
在某些情况下,模拟方法可能需要返回与传递的相同参数到它。 Mockito 是一个著名的 Java 模拟框架,提供了多种方法来实现此行为:
Mockito 1.9.5 with Java 8
利用 lambda 表达式,您可以现在简洁地定义行为:
<code class="java">when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</code>
旧版 Mockito 版本
或者,对于旧版本的 Mockito,您可以创建自定义答案:
<code class="java">when(mock.myFunction(anyString())).thenAnswer(new Answer<String>() { @Override public String answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); return (String) args[0]; } });</code>
此答案实现从调用中检索第一个参数并返回它,有效地传回传递给模拟方法的相同字符串。
以上是如何从 Java 中的模拟方法传回参数?的详细内容。更多信息请关注PHP中文网其他相关文章!