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 esnull
.javascript -
toBeUndefined
: Verifica si el valor esundefined
.javascript -
toBeDefined
: Verifica si el valor no esundefined
.javascript -
toBeTruthy
: Verifica si el valor estrue
en un contexto booleano.javascript -
toBeFalsy
: Verifica si el valor esfalse
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 unSet
.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.
- Introducción al Testing en Node.js
- Instalación y Configuración de Jest
- Conceptos Básicos de Testing
- Estructura de un Test con Jest
- Asserts y Matchers en Jest
- Test Driven Development (TDD) con Jest
- Mocks y Stubs en Jest
- Testing de Funciones Asíncronas
- Testing de APIs RESTful
- Integración de Tests en el Proceso de CI/CD
- Pruebas de Carga y Rendimiento
- Buenas Prácticas en Testing
- Herramientas Complementarias para Testing
- Ejemplos Prácticos y Casos de Uso
- Conclusiones y Siguientes Pasos