首页  >  文章  >  Java  >  如何从 Java 中的模拟方法传回参数?

如何从 Java 中的模拟方法传回参数?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-24 05:05:30646浏览

How to Pass Arguments Back from Mocked Methods in Java?

从模拟方法返回传递的参数

在某些情况下,模拟方法可能需要返回与传递的相同参数到它。 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn