首页 > Java > java教程 > 正文

如何模拟方法以返回 Java 中收到的参数?

Mary-Kate Olsen
发布: 2024-10-23 22:18:29
原创
931 人浏览过

How to Mock Methods to Return Arguments Received in Java?

返回接收到的参数的模拟方法

在面向对象编程中,像 Mockito 这样的模拟框架用于创建一个模拟对象,出于测试目的模拟真实对象的行为。测试中的一种常见场景是需要让模拟方法返回传递给它的相同参数。

Mockito 和 Lambda 表达式(Mockito 1.9.5 和 Java 8)

;

对于 Mockito 1.9.5 及更高版本与 Java 8 或更高版本结合使用,您可以利用 lambda 表达式来实现此行为:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
登录后复制

这里, i 代表一个实例IncationOnMock 和 getArguments()[0] 检索传递给模拟方法的第一个参数。

Mockito 和自定义答案(旧版本)

对于旧版本Mockito 版本中,您可以使用自定义 Mockito Answer 实现:

<code class="java">MyInterface mock = mock(MyInterface.class);
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>
登录后复制

此自定义 Answer 检索传递的参数并返回它,允许模拟方法回显收到的输入。

以上是如何模拟方法以返回 Java 中收到的参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!