如何在Mockito中使用任何地图?我尝试了以下代码

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的要求(两个参数都是匹配器)。

09-28 05:02