In every version of JUnit I have tried (up to 4.8.1), a failing assertThat will display an error message that looks like:
expected: [describeTo]
got: [String representation of object]
In other words, it will display the toString() of the object instead of the mismatch description from the Matcher. If I use the assertThat from org.hamcrest.MatcherAssert.assertThat, then it will call 'describeMismatch' and display a more helpful error message.
Am I using Junit incorrectly or is there currently no version of JUnit that will do what I want? Do most people use the Hamcrest assertThat then?