首页 > Java > java教程 > 正文

如何在 Mockito 中将参数返回给模拟方法?

Mary-Kate Olsen
发布: 2024-10-23 22:13:02
原创
680 人浏览过

How to Return an Argument to a Mocked Method in Mockito?

如何使用 Mockito 让模拟方法返回传递给它的参数

Mockito 是一个 Java 模拟框架,允许创建模拟对象用于测试目的。模拟方法有助于独立于其依赖项来测试代码。在这种情况下,我们想要模拟一个方法以返回在方法调用期间传递给它的值。

解决方案:

自 Mockito 版本 1.9.5 起在 Java 8 中,可以利用 lambda 表达式来实现所需的功能。具体方法如下:

<code class="java">when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</code>
登录后复制

在此 lambda 表达式中,i 表示 InvocableOnMock 的实例,i.getArguments()[0] 检索传递给模拟方法的第一个参数。

旧版本的替代解决方案:

对于旧版本的 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>
登录后复制

在此 Answer 实现中,从 InvocableOnMock 实例中检索参数数组,并返回第一个参数(字符串)。

使用这些方法,您可以在 Mockito 中配置模拟方法以根据传递给它们的参数返回值,从而允许更灵活和更现实的测试场景。

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

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