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