Ответ 1
Попробуйте явно заполнить параметр типа - если actual
- это List<YourPojo>
, попробуйте позвонить:
assertThat(actual, hasItem(Matchers.<YourPojo>hasProperty("id", equalTo(1L))));
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.equalTo;
assertThat(actual, hasItem(hasProperty("id", equalTo(1L))));
где actual - POJO с id как Long.
Получаю,
Метод assertThat(T, Matcher<? super T>)
в типе MatcherAssert
неприменим для аргументов (List<Pojo>, Matcher<Iterable<? super Object>>)
Из разных документов и других страниц stackoverflow это должно быть действительно, но я получаю вышеуказанную ошибку.
Попробуйте явно заполнить параметр типа - если actual
- это List<YourPojo>
, попробуйте позвонить:
assertThat(actual, hasItem(Matchers.<YourPojo>hasProperty("id", equalTo(1L))));
Более короткая версия, когда вам не нужно указывать тип класса:
List<IssueDefinitionDto> definitions = ...; // Tested variable
...
assertThat(definitions, hasItem(hasProperty("id", is(10L))));