Почему это не скомпилировано, а что делать?Почему этот код не пытается использовать компиляцию hasItems Hamcrest?
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));
ошибка скопирована с комментарием:
cannot find symbol method assertThat(java.util.ArrayList<java.lang.Integer>, org.hamcreset.Matcher<java.lang.Iterable<java.util.ArrayList<java.lang.Integer>>>)
я сравниваю несколько элементов. (hasItems, not hasItem) – ripper234
Итак, hamcrest просто не поддерживает сравнение двух коллекций? (У меня нет фактического списка элементов, я строю список чисел от 0 до 999, я должен сравнивать коллекции). – ripper234
Я не могу ответить на это, я говорю это на основе документации. Но есть более простой способ сделать то, что вы хотите ... use assertTrue (actual.containsAll (ожидается)). – freitass