Junit嘲笑hashmap,其值为多值映射

时间:2017-01-23 09:46:44

标签: spring

我有一个问题,如何设置此hashmap的值并模拟它

Map <String, MultiValueMap<String, Integer>> idsrcMp = new HashMap<>(3);

1 个答案:

答案 0 :(得分:1)

我不确定你的意思是“设定值并嘲笑它”。您想设置值模拟它吗?

您可以这样使用Map / MultiValueMap:

Map<String, MultiValueMap<String, Integer>> idsrcMp = new HashMap<>(3);
MultiValueMap<String, Integer> multiValueMap = new LinkedMultiValueMap<>();
multiValueMap.put("item", Collections.emptyList()); // insert a List here
idsrcMp.put("first", multiValueMap);

使用模拟:

Map map = Mockito.mock(Map.class);
MultiValueMap multiValueMap = Mockito.mock(MultiValueMap.class);

Mockito.when(map.get("mapItem")).thenReturn(multiValueMap);
Mockito.when(multiValueMap.get("multimapItem"))
       .thenReturn(Collections.emptyList());