模拟方法返回:回显输入参数
测试软件时,让模拟方法返回传递给的参数是有益的他们。在验证交互或测试系统中的数据流时,此行为特别有用。
对于 Mockito 版本 1.9.5 及更高版本,可以使用 lambda 表达式简洁地实现此功能:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
在本例中,i参数表示一个 InvocableOnMock 实例,它提供对传递给模拟方法的参数。
对于早期版本的 Mockito,需要自定义答案:
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (String) args[0];
}
});
使用这种方法,模拟将返回传递给 myFunction() 的相同字符串。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3