首页 > Java > java教程 > 正文

如何使用 Mockito 根据输入参数模拟返回值?

DDD
发布: 2024-10-24 03:46:02
原创
651 人浏览过

How to Mock Return Values Based on Input Arguments with Mockito?

模拟传递参数的返回值

使用特定输入参数测试方法时,可能需要让模拟方法返回相同的值传递给它的值。 Mockito 提供了多种方法来实现此目的,具体取决于所使用的版本。

对于 Mockito 1.9.5 和 Java 8 :

Mockito 添加了对 lambda 表达式的支持,允许用于直接返回传递的参数:

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

对于较旧的 Mockito 版本:

在 Mockito 1.9.5 之前,您可以在 thenAnswer 方法中使用 Answer:

<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>
登录后复制

以上是如何使用 Mockito 根据输入参数模拟返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板