如何在 mockito 中使用任何 map ?我尝试使用以下代码
when(mockedService.patch("1", Matchers.<Map<String, Object>>any())).thenReturn(object);
和:
when(mockedService.patch("1", anyMap())).thenReturn(object);
但它返回:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
2 matchers expected, 1 recorded.
只有当我输入 any(String.class)
时它才有效:
when(mockedService.patch(any(String.class), Matchers.<Map<String, Object>>any())).thenReturn(object);
但我想选择输入实际值而不是任何字符串
最佳答案
您不能混用匹配器和非匹配器。代替 "1"
,使用 Matchers.eq("1")
.这将创建一个匹配任何等于“1”的字符串的匹配器,它同时满足您的需求(等于“1”)和 Mockito 的(两个参数都是匹配器)。
关于java - Mockito 匹配任何 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27646362/