Я тестирую метод фильтра, который принимает список в качестве входных данных и вызывает другой метод (который возвращает логическое значение) для каждого элемента в списке и подсчитывает количество подходящих элементов.
Mockito.doReturn(valid)
.doReturn(inValid)
.doReturn(valid)
.doReturn(inValid)
.doReturn(valid)
.when(mySpy).isEligible(
any(Item.class),anyString());
Это работало, когда тестируемый метод вызывал isElitable в цикле for
public int filter(List<Item> items){
int count=0;
for(i=0;i<items.size;i++){
if(isEligible(items.get(i)))
count++;
return count;
}
Теперь я изменил его, чтобы использовать потоки Java
public int filter(List<Item> items){
items.stream().filter(item -> isEligible(item));
return items.size;
}
Теперь мой макет не работает, реальный метод вызывается