Buen铆sima esta clase
Requisitos
驴Qu茅 necesitas para aprender Testing E2E con Node.js?
Introducci贸n: pruebas e2e con Node.js
Explorando la API
Explorando el c贸digo del proyecto
Instalando y configurando Jest con Node
Tu primer prueba e2e
Buenas pr谩cticas en pruebas E2E
Pruebas a la API de Fake Store
Configurando el entorno de pruebas para nuestro proyecto
Coverage Report
Pruebas a Schemas o DTOs
Pruebas a endpoints GET
Pruebas al Login
Pruebas a rutas con protecci贸n
Pruebas a rutas con accessToken
Pruebas a endpoints POST
Pruebas en Entornos de Desarrollo Avanzados
驴Crear bases de datos solo para pruebas?
Preparando el ambiente de pruebas e2e
Creando un seed de datos manual
Seed de datos con sequelize
Umzug: corriendo los seeds de datos para pruebas e2e
Pruebas a crear categor铆as
Pruebas al endpoint de producto
Pruebas a la paginaci贸n
Mocking y automatizaci贸n
Mocking en Node.js
Automatizacion en GitHub Actions
Pr贸ximos pasos
驴Quieres m谩s cursos de testing?
No tienes acceso a esta clase
隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera
Integrar pruebas automatizadas en un flujo de trabajo es crucial para asegurar la calidad del c贸digo y reducir el tiempo de despliegue. A continuaci贸n, te guiar茅 paso a paso para implementar la automatizaci贸n de pruebas en tu ciclo de integraci贸n continua utilizando GitHub Actions. Esto permitir谩 ejecutar las pruebas eficientemente en cada commit o push a tu repositorio, haciendo que el proceso de desarrollo sea m谩s fluido y seguro.
Para empezar, deber谩s crear y configurar archivos de flujo de trabajo dentro de tu proyecto. Estos archivos son esenciales para definir c贸mo y cu谩ndo se ejecutar谩n las pruebas. Aqu铆 te explico c贸mo hacerlo:
Crear la carpeta .github
:
Coloca esta carpeta en el mismo nivel que tu directorio src
.
Configurar workflows:
Dentro de la carpeta .github
, crea otra carpeta llamada workflows
. Esta es donde almacenaremos los archivos de configuraci贸n YAML necesarios.
Crear el archivo de workflow YAML:
api.continuousintegration.yaml
. El nombre es opcional, pero debe ser un archivo .yaml.API
, para identificarlo f谩cilmente.name: API
on:
push:
branches:
- '**'
Es crucial definir bajo qu茅 circunstancias se ejecutar谩n las pruebas. La configuraci贸n b谩sica puede ser:
main
o master
.Los jobs son las tareas espec铆ficas que GitHub Actions ejecutar谩. Aqu铆 detallamos c贸mo configurarlos para las pruebas end-to-end (e2e):
jobs:
end-to-end:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
run: npm ci
- name: Run end-to-end tests
env: # Definir variables de entorno aqu铆
VAR1: value1
run: npm run e2e
checkout
para copiar el c贸digo en el servidor de integraci贸n.npm ci
para instalar dependencias, optimizado para entornos CI.npm run e2e
.Las variables de entorno son necesarias para la configuraci贸n y ejecuci贸n de pruebas. En entornos de integraci贸n continua, estas deben declararse directamente en el archivo YAML:
env:
DATABASE_URL: postgres://user:password@postgres-service/e2etests
NODE_ENV: ci
GitHub Actions permite ejecutar servicios externos similares a Docker. Esto se usa para preparar servicios como bases de datos:
services:
postgres:
image: postgres:10
env:
POSTGRES_USER: user
POSTGRES_PASSWORD: secret
ports:
- 5432:5432
localhost
al nombre asignado al servicio, por ejemplo, postgres
.Una vez configuradas las pruebas, cada push
o commit
mostrar谩 un feedback visual inmediato en GitHub, indicando si las pruebas han pasado o fallado. Esto permite asegurar constantemente la calidad del c贸digo con cada contribuci贸n al repositorio:
Esta integraci贸n con GitHub Actions proporciona un flujo de trabajo m谩s robusto, asegurando que cada nueva l铆nea de c贸digo respete las normas de calidad y funcionalidad definidas. No dudes en seguir aprendiendo y mejorando tus habilidades en testing y automatizaci贸n. 隆El camino apenas comienza!
Aportes 2
Preguntas 2
Buen铆sima esta clase
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?