Mockito Matchers任何地图

时间:2014-12-25 10:27:24

标签: java testing mockito

如何在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);

但是我想要选择放置实际值而不是任何String

1 个答案:

答案 0 :(得分:8)

您无法混合匹配器和非匹配器。而不是"1",请使用Matchers.eq("1")。这将创建一个匹配任何等于&#34; 1&#34;的字符串的匹配器,它满足您的需求(等于&#34; 1&#34;)和Mockito&#(两个参数都是匹配器)。 / p>