Как я могу заглушить метод, чтобы при задании значения, которого я не ожидал, он возвращал значение по умолчанию?
Например:
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"));
В приведенных выше примерах последняя заглушка имеет приоритет, поэтому карта всегда будет возвращать значение по умолчанию.