Alex Rivera | Logout

Why doesn't this code attempting to use Hamcrest's hasItems compile?

Asked 2009-07-07T15:22:54.880
55

Why does this not compile, oh, what to do?

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));

error copied from comment:

cannot find symbol method assertThat(java.util.ArrayList<java.lang.Integer>, org.hamcreset.Matcher<java.lang.Iterable<java.util.ArrayList<java.lang.Integer>>>)
Edit
Report

1 Answer

2

I just came across the same problem and the following trick worked for me:

  • use import static org.hamcrest.Matchers.hasItems
  • have the hamcrest library before junit in classpath (build path -> order and export)
answered 2011-03-10T22:01:20.833

Your Answer