Un esempio di un Assertion Framework sarebbe Hamcrest che è stato integrato in JUnit 4. Hamcrest non esegue test, fornisce semplicemente un modo espressivo per scrivere asserzioni.
Vecchia affermazione dell'uguaglianza di stile JUnit:
assertEquals(constant, underTest);
// or for doubles
assertEquals(3.5, underTest, .001); // within 1/1000th
Asserzioni sulla parità di stile di Hamcrest:
assertThat(underTest, Is.EqualTo(constant));
// or for doubles
assertThat(underTest, Is.EqualTo(3.5).Within(.001));
In sostanza, un assertion framework ti consente di eseguire le tue asserzioni in modo facilmente estendibile. Poiché il framework delle asserzioni si focalizza solo sulle asserzioni, può fare il lavoro molto meglio di uno strumento che deve raccogliere ed eseguire test. NUnit ha anche adottato l'approccio di Hamcrest alle affermazioni. Non useresti Hamcrest per eseguire i tuoi test, semplicemente per scrivere le asserzioni.