Un exemple d'un cadre d'assertion serait Hamcrest qui a été intégré à JUnit 4. Hamcrest n'exécute pas de tests, il fournit simplement un moyen expressif d'écrire des assertions.
Ancienne affirmation d'égalité de style JUnit:
assertEquals(constant, underTest);
// or for doubles
assertEquals(3.5, underTest, .001); // within 1/1000th
Affirmations d'égalité de style Hamcrest:
assertThat(underTest, Is.EqualTo(constant));
// or for doubles
assertThat(underTest, Is.EqualTo(3.5).Within(.001));
Essentiellement, un cadre d'assertion vous permet d'effectuer vos assertions d'une manière facilement extensible. Étant donné que le cadre d'assertion se concentre uniquement sur les assertions, il peut faire le travail bien mieux qu'un outil qui doit également collecter et exécuter des tests. NUnit a également adopté l'approche Hamcrest des assertions. Vous n'utiliseriez pas Hamcrest pour exécuter vos tests, simplement pour écrire les assertions.