Quando olho para os exemplos na classe Assert JavaDoc
assertThat("Help! Integers don't work", 0, is(1)); // fails:
// failure message:
// Help! Integers don't work
// expected: is <1>
// got value: <0>
assertThat("Zero is one", 0, is(not(1))) // passes
Não vejo uma grande vantagem, digamos assertEquals( 0, 1 )
.
Talvez seja bom para as mensagens se as construções ficarem mais complicadas, mas você vê mais vantagens? Legibilidade?