Warum kompiliert das nicht, oh, was zu tun ist?Warum versucht dieser Code nicht, hasItems von Hamcrest zu kompilieren?
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.hasItems;
ArrayList<Integer> actual = new ArrayList<Integer>();
ArrayList<Integer> expected = new ArrayList<Integer>();
actual.add(1);
expected.add(2);
assertThat(actual, hasItems(expected));
Fehler von Kommentar kopiert:
cannot find symbol method assertThat(java.util.ArrayList<java.lang.Integer>, org.hamcreset.Matcher<java.lang.Iterable<java.util.ArrayList<java.lang.Integer>>>)
Ich vergleiche mehrere Artikel zu verwenden. (hasItems, not hasItem) – ripper234
Also, hamcrest unterstützt einfach nicht den Vergleich zweier Sammlungen? (Ich habe keine tatsächliche Liste von Elementen, ich baue die Liste der Zahlen von 0 bis 999 Ich muss Sammlungen vergleichen). – ripper234
Ich kann das nicht für Sie beantworten, ich erzähle das anhand der Dokumentation. Aber es gibt einen einfacheren Weg, um das zu tun, was Sie wollen ... benutze assertTrue (actual.containsAll (expected)). – freitass