Wie überprüft man Hamcrest, wenn die Sammlung bestimmte Artikel in der angegebenen Reihenfolge enthält? Ich habe versucht hasItems
, aber es ignoriert einfach die Reihenfolge.Wie überprüft man, ob die Sammlung Artikel in der angegebenen Reihenfolge enthält, mit Hamcrest
List<String> list = Arrays.asList("foo", "bar", "boo");
assertThat(list, hasItems("foo", "boo"));
//I want this to fail, because the order is different than in "list"
assertThat(list, hasItems("boo", "foo"));
Überlegen Sie, die akzeptierte Antwort zu ändern. Wenn wir nach einem Matcher suchen, bevorzugen wir in der Regel diejenigen, die bereits in der API enthalten sind, sodass benutzerdefinierte Matcher den unvermeidlichen Fällen überlassen werden. – acdcjunior
Sie haben Recht! Danke –
Die angenommene Antwort beantwortet die Frage nicht. Die Frage fragt nach einem Matcher, der lediglich prüft, ob die erwarteten Artikel in der tatsächlichen Liste in der angegebenen Reihenfolge enthalten sind, aber nicht, dass dies ALLE tatsächlichen Artikel sind. Die Methode 'Matchers.contains' überprüft, ob die Liste genau die erwarteten Elemente enthält. –