Repolode
mswjs

mswjs/msw

Biblioteca de mocking de API para JavaScript que intercepta solicitudes de red en navegadores y Node.js, para que el código de la aplicación funcione sin cambios con respuestas simuladas en pruebas y desarrollo.

Estrellas
18,307
Forks
642
Issues abiertos
16
Último commit
hace 8 días

¿Qué es?

Mock Service Worker (MSW) simula solicitudes a la API en la capa de red. En el navegador, usa la Service Worker API para responder a las solicitudes con las definiciones de mocks; en Node.js, usa una capa de interceptación de bajo nivel. Como el código de la propia aplicación, incluidos fetch, axios y las bibliotecas de obtención de datos, no se modifica, la aplicación se comporta como lo haría en producción.

Los handlers de solicitudes se escriben con una sintaxis de rutas similar a la de Express, compatible con parámetros, comodines y expresiones regulares. Las respuestas pueden incluir códigos de estado, encabezados, cookies y demoras, o generarse mediante resolvers totalmente personalizados. Los mismos handlers se pueden reutilizar en pruebas unitarias, de integración y E2E, así como en el desarrollo local; además, las respuestas se pueden ver en la pestaña Network de DevTools del navegador.

El proyecto ofrece setupWorker para usarlo en el navegador y setupServer para Node.js, además de un sitio de documentación y repositorios de ejemplo para configuraciones habituales.

Funciones clave

  • 01Intercepta solicitudes en la capa de red, para que el código de la aplicación se ejecute sin modificaciones.
  • 02Funciona en navegadores mediante Service Worker y en Node.js para pruebas y servidores.
  • 03Coincidencia de rutas al estilo de Express, con parámetros, comodines y expresiones regulares.
  • 04Permite definir códigos de estado, encabezados, cookies, demoras y funciones resolver personalizadas para las respuestas.
  • 05Las respuestas simuladas se pueden ver en la pestaña Network de DevTools del navegador.

Casos de uso

  • Desarrollar funcionalidades de frontend antes de que la API del backend esté lista.
  • Escribir pruebas unitarias, de integración y E2E que simulen llamadas HTTP y GraphQL.
  • Simular endpoints lentos o que fallan para probar los estados de carga y de error.
  • Ejecutar un servidor local de Express con APIs de terceros simuladas.

Inicio rápido

  1. 1

    Instala el paquete como dependencia de desarrollo

    npm i msw --save-dev
  2. 2

    Lee la guía oficial de inicio rápido para configurar los manejadores de solicitudes

Antes de usarlo

  • La simulación en el navegador requiere generar un archivo Service Worker y distribuirlo con tu aplicación.

En colecciones

Temas

Preguntas frecuentes

¿Qué es msw?
Biblioteca de mocking de API para JavaScript que intercepta solicitudes de red en navegadores y Node.js, para que el código de la aplicación funcione sin cambios con respuestas simuladas en pruebas y desarrollo. Mock Service Worker (MSW) simula solicitudes a la API en la capa de red. En el navegador, usa la Service Worker API para responder a las solicitudes con las definiciones de mocks; en Node.js, usa una capa de interceptación de bajo nivel. Como el código de la propia aplicación, incluidos fetch, axios y las bibliotecas de obtención de datos, no se modifica, la aplicación se comporta como lo haría en producción.
¿msw es gratuito? ¿Qué licencia tiene?
msw es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿msw sigue mantenido?
Mantenimiento activo. El último commit de msw fue el 17 oct 2026.
¿Para qué puedo usar msw?
Desarrollar funcionalidades de frontend antes de que la API del backend esté lista. Escribir pruebas unitarias, de integración y E2E que simulen llamadas HTTP y GraphQL. Simular endpoints lentos o que fallan para probar los estados de carga y de error. Ejecutar un servidor local de Express con APIs de terceros simuladas.
¿Cómo se instala msw?
Instala el paquete como dependencia de desarrollo: npm i msw --save-dev Lee la guía oficial de inicio rápido para configurar los manejadores de solicitudes
¿Dónde consigo msw?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/mswjs/msw

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados