JUnit: коллекция assert содержит элемент с определенным свойством - PullRequest
1 голос
/ 21 марта 2020

Я хочу заявить (используя JUnit, а не любые другие зависимости, такие как hamcrest), если коллекция содержит элемент с определенным значением свойства).

Я нашел этот вопрос Как мне подтвердить итерируемое содержит элементы с определенным свойством? с использованиемmagecrest.

Один из вариантов - переопределить метод Equals, чтобы проверить только то свойство, которое я хочу сравнить, но это не хорошее решение.

Есть ли элегантный способ сделать это с помощью JUnit 4, или я должен кодировать его и перебирать коллекцию, чтобы проверить значение?

Спасибо

1 Ответ

0 голосов
/ 21 марта 2020

Java 8 потоков и фильтрации могут быть довольно элегантными:

Collection<SomeObejct> myCollection = /* something */;
boolean hasAny = myCollection.stream().anyMatch(s -> s.getProperty().equals("something"));
assertTrue("Couldn't find an object with the right property", hasAny);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...