Saltar al contenido

¿Cómo uso Hamcrest con JUnit 5 cuando JUnit 5 no tiene una función assertThat ()?

Ezequiel, miembro de este equipo de trabajo, nos ha hecho el favor de escribir esta crónica porque conoce muy bien dicho tema.

Solución:

Debe asegurarse de que Hamcrest esté incluido en el classpath y luego usar el assertThat() función proporcionada por Hamcrest. De la Guía del usuario actual de JUnit 5 – Escribir aserciones de pruebas,

La clase org.junit.jupiter.Assertions de JUnit Jupiter no proporciona un método assertThat() como el que se encuentra en la clase org.junit.Assert de JUnit 4 que acepta un Hamcrest Matcher. En su lugar, se alienta a los desarrolladores a utilizar el soporte integrado para comparadores proporcionado por bibliotecas de aserción de terceros.

El siguiente ejemplo demuestra cómo utilizar la compatibilidad con assertThat() de Hamcrest en una prueba JUnit Jupiter. Siempre que se haya agregado la biblioteca Hamcrest al classpath, puede importar métodos de forma estática como assertThat(), is() y equalTo() y luego usarlos en pruebas como en el método assertWithHamcrestMatcher() a continuación.

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;

import org.junit.jupiter.api.Test;

class HamcrestAssertionDemo 

    @Test
    void assertWithHamcrestMatcher() 
        assertThat(2 + 1, is(equalTo(3)));
    


Naturalmente, las pruebas heredadas basadas en el modelo de programación JUnit 4 pueden continuar usando org.junit.Assert#assertThat”.

Consulte https://github.com/junit-team/junit5/issues/147:

puede usar ambos, Hamcrest y AssertJ, en JUnit5. Ambos marcos tienen un método de afirmación simple que puede importar y usar si lo desea.

Actualmente, no planeamos admitir estos marcos dentro de nuestras propias afirmaciones para evitar las dependencias. Aún así, uno puede usarlos muy bien.

Comentarios y valoraciones

Si para ti ha sido provechoso nuestro artículo, sería de mucha ayuda si lo compartieras con el resto programadores y nos ayudes a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *