java - 如何在 Mockito 中使用带有 doReturn 的匹配器
问题描述
我想使用 doReturn 不调用实际方法,而只使用 Matchers 返回一个值,我已经完成了以下代码段:
Sender sender = Mockito.spy(new Sender());
Mockito.doReturn(response)
.when(sender)
.callRestClient(
Mockito.anyString(),
Mockito.anyString(),
Mockito.anyString(),
Mockito.anyString());
但是当测试使用 callRestClient 的实际值运行时,该方法实际上被调用(我不希望这样)。在这种情况下,Sender 是一个 Spy 对象
解决方案
请使用创建 senderMock 并将语句更改为以下
@MockBean Sender senderMock
Mockito.when(senderMock.callRestClient(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(response);
推荐阅读
- arrays - 在 Ruby 中创建可枚举的数组切片
- javascript - 如何将 td 表的控件放在一起
- kubernetes - Kubernetes AntiAffinity - 限制每个节点的最大相同 pod 数
- vim - 检测 vim 使用的 GUI
- python-3.x - 我的语法 read().encode("hex") 在 python 3 中不起作用
- c# - 对异步方法的 Ajax 调用成功返回文件,但 Ajax 请求的成功/完成部分未执行
- typescript - 来自分页 API 的 fp-ts 中的延迟评估递归流
- python - FTP服务器不使用套接字将数据发送到Python中的代理
- docker - Kubernetes - 从 Minikube 到生产
- javascript - 根据切片后数组中剩余的内容显示数组的长度