Skip to main content

Matchers Comunes en Hamcrest

⏱ Dedicación recomendada: 0 minutos
Esto considera el contenido visible y relevante, e ignora texto colapsado o marcado como opcional.


En JUnit con Hamcrest, los matchers permiten verificar condiciones de manera expresiva, similar a Kotest, pero utilizando una combinación de assertThat y diferentes matchers para lograr las mismas validaciones.

Ejemplos Comunes de Matchers en JUnit + Hamcrest:

  • Igualdad: Verifica si un valor es igual a otro.
    assertThat(result, is(42));
  • Desigualdad: Verifica que dos valores no son iguales.
    assertThat(result, not(0));
  • No Nulo: Asegura que un valor no es nulo.
    assertThat(result, notNullValue());
  • Contenido en Cadenas: Verifica que una cadena contiene otra.
    assertThat(string, containsString("world"));
  • Empieza con: Verifica que una cadena comienza con un prefijo específico.
    assertThat(string, startsWith("Hello"));

Encadenar Matchers en JUnit + Hamcrest

Al igual que en Kotest, en Hamcrest también es posible encadenar matchers para combinar múltiples condiciones en una sola declaración.

Por ejemplo:

assertThat(result, allOf(greaterThan(10), lessThan(50), notNullValue()));

En este ejemplo, se verifica que result:

  1. Es mayor que 10.
  2. Es menor que 50.
  3. No es nulo.

Otro ejemplo con cadenas:

assertThat(string, allOf(startsWith("Hello"), containsString("world"), endsWith("!")));

Aquí se verifica que string:

  1. Comienza con "Hello".
  2. Contiene "world".
  3. Termina con "!".

¿Qué Aprendimos?

En esta lección, exploramos el uso de matchers comunes en JUnit con Hamcrest, una herramienta que permite realizar aserciones de manera más expresiva y flexible, similar a Kotest. Vimos ejemplos básicos de matchers para verificar igualdad, no nulidad y manipulación de cadenas, además de cómo encadenar múltiples condiciones utilizando allOf y anyOf.

Puntos clave

  • Hamcrest permite realizar verificaciones expresivas utilizando assertThat.
  • Se pueden encadenar múltiples matchers en una sola expresión para realizar verificaciones más complejas.
  • Aunque Hamcrest puede ser algo más verboso que Kotest, sigue siendo una herramienta potente para realizar aserciones en JUnit.

Estos principios son clave para escribir tests más legibles, robustos y fáciles de mantener.

Bibliografías Recomendadas