Предположим, что filterIsAny
работает до тех пор, пока не получит нетривиальную логику.
Если ваша функция является оболочкой для одного чистого оператора Java, который не имеет логических ветвей, вы можете безопаснопропустите написание модульного теста для него и, следовательно, только его в других модульных тестах.То, что вы делаете хотите проверить, - это различные ветви в тестируемом методе, при условии, что он имеет нетривиальную логику.
Здесь вы должны настроить объект фильтра так, чтобы он генерировалtrue
и false
результат при тестировании matchesObject(V object, String filter)
на основе тестируемой логической ветви (нет совпадений в коллекции, одно совпадение в коллекции, недопустимый тип коллекции (если возможно), нулевой ввод и т. Д.)
В вашем случае вы можете пропустить оценку filterIsAny(filter)
до истинной ветви, поскольку впоследствии вы выполняете тривиальный оператор return true
.
Кстати, рассмотрите возможность рефакторинга на Stream.anyMatch()
, если это возможно;это уменьшит количество операторов возврата в вашей функции и улучшит читабельность.