Tengo una pregunta un poco extraña: tengo un programa para extraer datos de páginas web (solo las páginas HTML reales, no las respuestas de la API).
Necesito escribir pruebas de extremo a extremo para este programa con la biblioteca Jest. Para probar la funcionalidad de manera consistente, necesito asegurarme de que las páginas web a las que se hace referencia no cambien, lo que sería casi imposible de lograr con los recursos en la web.
Me preguntaba cuán buena práctica es activar un nuevo servidor web localmente con express/fastify/etc. para servir páginas HTML estáticas antes de ejecutar las pruebas y luego apagar el servidor una vez que pasan las pruebas.
¿Hay mejores formas de lograr lo que mencioné? ¡Gracias de antemano!
Para el servidor simulado, necesita npm msw. Entonces, en su interfaz, lo importa así:
import {setupServer} from "msw/node"; import {rest} from 'msw'y después puede crear un servidor const en su función para pruebas:
const server = setupServer( rest.get('/check_signup_email/*', (req, res, ctx) => { return res(ctx.json({result: 'ok', emails: []})) }) ) beforeAll(() => server.listen()) afterEach(() => server.resetHandlers()) afterAll(() => server.close())Es importante cerrar su servidor después de cada prueba y volver a abrirlo antes de una nueva prueba porque si no lo cierra, se podrían ejecutar diferentes pruebas en las primeras variables y los resultados podrían ser falsos.