Hamcrest is an open source library of constraint classes used to match objects and values, typically by other frameworks such as unit testing, mocking, or collections.
Hamcrest has been ported to Java, C++, Objective-C, Python, PHP and Erlang.
It is included as part of JUnit to make assertions more readable (It is also called fluent API). Compare
assertNotEquals(-1, userName.indexOf("bob"));
to
assertThat(userName, containsString("bob"));