Mockito:使用通用参数进行validation
用Mockito我可以做到以下几点:
verify(someService).process(any(Person.class));  但是如果process需要一个Collection<Person>我怎么写呢? 无法弄清楚如何正确写入。 只是得到语法错误… 
尝试:
 verify(someService).process(Matchers.<Collection<Person>>any()); 
 实际上,当我inputany()时,IntelliJ会自动提示此修复…不幸的是,在这种情况下,您不能使用静态导入。 
试试:
 verify(someService).process(anyCollectionOf(Person.class)); 
从Mockito 1.8版本开始
 public static <T> Collection<T> anyCollectionOf(Class<T> clazz); 
如果你使用自己的方法,你甚至可以使用静态导入:
 private Collection<Person> anyPersonCollection() { return any(); } 
那么你可以使用
 verify(someService).process(anyPersonCollection()); 
由于types擦除你不能expression这个。 即使你可以用代码来expression它,Mockito也没有机会在运行时检查它。 你可以创build一个类似的界面
 interface PersonCollection extends Collection<Person> { /* nothing */ } 
而是在整个代码中使用它。
编辑:我错了,Mockito有anyCollectionOf(..)这是你想要的。