왜 컴파일되지 않습니까? 오, 어떻게해야합니까? 코멘트에서 복사왜이 코드는 Hamcrest의 hasItems를 사용하려고 시도하지 않습니까?
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));
오류 : 당신은 int
와 ArrayList<Integer>
을 비교하는
cannot find symbol method assertThat(java.util.ArrayList<java.lang.Integer>, org.hamcreset.Matcher<java.lang.Iterable<java.util.ArrayList<java.lang.Integer>>>)
으로 사용하는 것입니다. (hasItems, hasItem이 아님) – ripper234
그래서 hamcrest는 단순히 두 개의 콜렉션 비교를 지원하지 않습니까? (실제 아이템 목록이 없습니다. 컬렉션 수를 비교해야하는 0에서 999까지의 숫자 목록을 만들고 있습니다.) – ripper234
나는 당신에게 대답 할 수 없다, 나는 문서에 기초하여 이것을 말하고있다. 그러나 원하는 것을 할 수있는 더 쉬운 방법이 있습니다 ... assertTrue를 사용하십시오 (실제. 포함). – freitass