Un ejemplo de un marco de afirmación sería Hamcrest, que se integró en JUnit 4. Hamcrest no ejecuta pruebas, simplemente proporciona una forma expresiva de escribir afirmaciones.
Antigua afirmación de igualdad de estilo JUnit:
assertEquals(constant, underTest);
// or for doubles
assertEquals(3.5, underTest, .001); // within 1/1000th
Afirmaciones de igualdad de estilo Hamcrest:
assertThat(underTest, Is.EqualTo(constant));
// or for doubles
assertThat(underTest, Is.EqualTo(3.5).Within(.001));
Esencialmente, un marco de afirmación le permite realizar sus afirmaciones de una manera fácilmente extensible. Debido a que el marco de afirmación se centra solo en las afirmaciones, puede hacer el trabajo mucho mejor que una herramienta que también tiene que recopilar y ejecutar pruebas. NUnit también ha adoptado el enfoque de Hamcrest para las afirmaciones. No utilizaría Hamcrest para ejecutar sus pruebas, simplemente para escribir las afirmaciones.