予期しない値が与えられたときにデフォルト値を返すようにメソッドをスタブするにはどうすればよいですか?
例えば:
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"));
上記の例では、最後のスタブが優先されるため、マップは常にデフォルトを返します。