Насмешливые последующие вызовы метода с одним и тем же аргументом - PullRequest
0 голосов
/ 20 июня 2019

В методе, который мне нужен для модульного тестирования, следующая ситуация:

Predicate<MyClass> predicate1 = (MyClass myClass) -> myClass.getX().equals(SOME_VALUE);

List<MyClass> targets = this.filterMyClass(listOfMyClass, predicate1);

if (CollectionUtils.isEmpty(targets)) {
    Predicate<MyClass> predicate2 = (MyClass myClass) -> myClass.getX().equals(SOME_OTHER_VALUE);
    targets = this.filterMyClass(listOfMyClass, predicate2);
}

Как видно, filterMyClass() вызывается два раза с первым аргументом (списком), в то время как второй аргументотличается (предикат).

Как можно смоделировать вызовы filterMyClass?

1 Ответ

0 голосов
/ 28 июня 2019
Mockito.when(myClass.getX).thenReturn(SOME_VALUE, SOME_OTHER_VALUE)

это вернет SOME_VALUE для первого вызова и SOME_OTHER_VALUE для второго вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...