Um exemplo de um Assertion Framework seria o Hamcrest, que foi integrado ao JUnit 4. O Hamcrest não executa testes, apenas fornece uma maneira expressiva de escrever asserções.
Antiga declaração de igualdade de estilo JUnit:
assertEquals(constant, underTest);
// or for doubles
assertEquals(3.5, underTest, .001); // within 1/1000th
Afirmações de igualdade no estilo Hamcrest:
assertThat(underTest, Is.EqualTo(constant));
// or for doubles
assertThat(underTest, Is.EqualTo(3.5).Within(.001));
Essencialmente, uma estrutura de asserção permite que você execute suas asserções de uma maneira facilmente extensível. Como a estrutura de asserções se concentra apenas em asserções, ela pode fazer o trabalho muito melhor do que uma ferramenta que também precisa coletar e executar testes. A NUnit também adotou a abordagem de Hamcrest às afirmações. Você não usaria o Hamcrest para executar seus testes, apenas para escrever as afirmações.