java - 如何从 Mockito 模拟中获取每个方法的调用?
问题描述
我想从 Mockito 模拟中获取每个给定方法的多次调用。
假设我为它声明了一个模拟和两个存根:
when(mock.methodA()).thenReturn(..);
when(mock.methodB()).thenReturn(..);
我可以做类似的事情,Mockito.mockingDetails(mock).getInvocations()
但它返回所有调用的集合。我只想获得一些调用methodA
。
解决方案
尝试使用 verify(),例如:
verify(mock, times(N)).methodA();
verify(mock, times(N)).methodB();
当N检查调用编号时。
要获取有关特定方法的数据,请仅使用:
new DefaultMockingDetails(service).getInvocations()
.stream()
.map(InvocationOnMock::getMethod)
.filter(s -> s.getName().equals("methodName"))
.collect(toList())
此方法将返回该模拟的集合调用。
有关更多信息,请参见此处
推荐阅读
- c++ - Qt 错误:LNK1120:1 未解决的外部
- sql - 如何为表行实现类似 UNIX 的 ACL
- mysql - 重复的输入密钥 phpmyadmin
- python - matplotlib 中的 fill_between 函数有渐变功能吗?
- search - 如何使结果高于内容?Z-index 搜索字段问题
- java - 如何知道 Java 中 for-each 中的迭代值?
- html - html标签上的角度输入和本机html属性有什么区别
- javascript - 单击后如何显示和隐藏按钮?
- python - os.listdir() not showing contents of directory
- java - What is the best place to place a Comparator Class in Java