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))));
où réel est un POJO dont l'ID est Long.
Je reçois,
La méthode assertThat(T, Matcher<? super T>)
de type MatcherAssert
n'est pas applicable pour les arguments (List<Pojo>, Matcher<Iterable<? super Object>>)
À partir de diverses documentations et autres pages de stackoverflow, il devrait être valide, mais j'obtiens l'erreur ci-dessus.
Essayez de remplir explicitement le paramètre type - en supposant que actual
est un List<YourPojo>
, essayez d'appeler:
assertThat(actual, hasItem(Matchers.<YourPojo>hasProperty("id", equalTo(1L))));
La version plus courte lorsque vous n'avez pas à spécifier le type de classe:
List<IssueDefinitionDto> definitions = ...; // Tested variable
...
assertThat(definitions, hasItem(hasProperty("id", is(10L))));