Как я могу заглушить метод таким образом, что при задании значения, которое я не ожидаю, оно возвращает значение по умолчанию?
Например:
Map<String, String> map = mock(Map.class);
when(map.get("abcd")).thenReturn("defg");
when(map.get("defg")).thenReturn("ghij");
when(map.get(anyString())).thenReturn("I don't know that string");
Часть 2: Как указано выше, но выдает исключение:
Map<String, String> map = mock(Map.class);
when(map.get("abcd")).thenReturn("defg");
when(map.get("defg")).thenReturn("ghij");
when(map.get(anyString())).thenThrow(new IllegalArgumentException("I don't know that string"));
В приведенных выше примерах последний заглушка имеет приоритет, поэтому карта всегда будет возвращать значение по умолчанию.