Mockito anyMapOf 嵌套泛型
我正在尝试验证是否调用了具有以下签名的方法:
public void process(Map<String, Set<String>> data) {
...
}
嵌套的参数化集给我带来了麻烦。我可以让它与any()匹配器正确验证,如下所示:
verify(dataProcessor).process(Matchers.<Map<String, Set<String>>> any());
如 Mockito 中所述:使用通用参数进行验证,尽管很烦人,但如果我对 Matchers.any 进行直接静态导入并将其称为:“仅”,则无法正常工作:
verify(dataProcessor).process(<Map<String, Set<String>>> any())
但是在这种情况下,anyMapOf(clazz,clazz)似乎是更合适的匹配器。由于你不能做Set.class我不确定你会怎么做。由于缺乏通用,以下方法不起作用:
verify(dataProcessor).process(anyMapOf(String.class, Set.class));
是否可以使用 anyMapOf 验证这种情况,或者我应该坚持使用 Matchers.<>any()?