3 ответов:
для Java 8 и выше, это просто:
when(mock.process(Matchers.anyList()));для Java 7 и ниже компилятор нуждается в небольшой помощи. Используйте
anyListOf(Class<T> clazz):when(mock.process(Matchers.anyListOf(Bar.class)));
кроме
anyListOfвыше, вы всегда можете указать дженерики явно с помощью этого синтаксиса:when(mock.process(Matchers.<List<Bar>>any(List.class)));Java 8 недавно позволяет вывод типа на основе параметров, так что если вы используете Java 8, это может работать также:
when(mock.process(Matchers.any()));помните, что ни
any(), ниanyList()будут применяться любые проверки, включая проверки типа или null. В Mockito 2.x,any(Foo.class)было изменено на " любойinstanceofFoo", ноany()по-прежнему означает "любое значение, в том числеnull".Примечание: выше переключился на ArgumentMatchers в новых версиях Mockito, чтобы избежать конфликта имен с
org.hamcrest.Matchers. Старые версии Mockito должны будут продолжать использоватьorg.mockito.Matchersкак выше.
перед Java 8 (версии 7 или 6) я использую новый метод ArgumentMatchers.anyList:
import static org.mockito.Mockito.*; import org.mockito.ArgumentMatchers; verify(mock, atLeastOnce()).process(ArgumentMatchers.<Bar>anyList());
Comments