【发布时间】:2011-05-12 02:37:54
【问题描述】:
我如何存根一个方法,以便在给定一个我不期望的值时,它返回一个默认值?
例如:
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"));
在上面的示例中,最后一个存根优先,因此地图将始终返回默认值。
【问题讨论】: