模拟方法返回:回显输入参数
测试软件时,让模拟方法返回传递给的参数可能会很有帮助他们。在验证交互或测试系统中的数据流时,此行为特别有用。
对于 Mockito 版本 1.9.5 及更高版本,可以使用 lambda 表达式简洁地实现此功能:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
在本例中,i 参数代表一个 InitationOnMock 实例,它提供对传递给模拟方法的参数的访问。
对于早期版本的 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>
使用这种方法,模拟将返回传递给 myFunction() 的相同字符串。
以上是如何在 Mockito 中 Mock 方法返回回显输入参数?的详细内容。更多信息请关注PHP中文网其他相关文章!