Chuck's Academy

Testing en Node.js con Jest

Asserts y Matchers en Jest

En este apartado, profundizaremos en los assertions y matchers que Jest proporciona para evaluar las condiciones en nuestros tests. Los assertions y matchers son fundamentales para comparar el resultado esperado con el resultado real de una función o proceso.

Assertions en Jest

En Jest, los assertions se realizan usando la función expect(), que se encarga de comparar valores. La función expect() toma un valor como argumento y retorna un objeto con varios matchers que puedes usar para realizar comparaciones específicas.

javascript

Principales Matchers en Jest

A continuación, se muestran algunos de los matchers más comunes:

Igualdad

  • toBe: Compara usando el operador ===.

    javascript
  • toEqual: Comprueba la igualdad de valores, útil para objetos y arrays.

    javascript

Veracidad

  • toBeNull: Verifica si el valor es null.

    javascript
  • toBeUndefined: Verifica si el valor es undefined.

    javascript
  • toBeDefined: Verifica si el valor no es undefined.

    javascript
  • toBeTruthy: Verifica si el valor es true en un contexto booleano.

    javascript
  • toBeFalsy: Verifica si el valor es false en un contexto booleano.

    javascript

Números

  • toBeGreaterThan: Verifica si un número es mayor que otro.

    javascript
  • toBeGreaterThanOrEqual: Verifica si un número es mayor o igual que otro.

    javascript
  • toBeLessThan: Verifica si un número es menor que otro.

    javascript
  • toBeLessThanOrEqual: Verifica si un número es menor o igual que otro.

    javascript
  • toBeCloseTo: Verifica si dos números son cercanos entre sí, útil para comparación de decimales.

    javascript

Cadenas

  • toMatch: Verifica si una cadena coincide con una expresión regular.

    javascript

Arrays y Conjuntos

  • toContain: Verifica si un elemento está en un array o en un Set.

    javascript
  • toContainEqual: Verifica si un objeto equivalente está en un array.

    javascript

Excepciones

  • toThrow: Verifica si una función arroja un error al ser ejecutada.

    javascript

[Placeholder para imagen: Cuadro comparativo que muestra diferentes matchers con ejemplos cortos y resultados esperados.]

Ejemplo Completo con Matchers

A continuación, te mostramos un ejemplo donde se utilizan varios de los matchers mencionados:

javascript

Conclusión

Dominar los matchers y assertions en Jest te permitirá escribir tests más efectivos y precisos. En los siguientes capítulos, exploraremos técnicas avanzadas de testing, incluyendo TDD, mocks, y pruebas de funciones asíncronas.


Pregúntame lo que sea