Herramienta de código abierto para simular y hacer mocking de API, que permite sustituir dependencias lentas o inestables por simulaciones reutilizables.
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
Instala el paquete como dependencia de desarrollo
npm i msw --save-dev - 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
Jest es un framework de testing para JavaScript con aserciones, mocking, pruebas de snapshots y un modo watch interactivo integrados.
Kit de herramientas de testing para Go con aserciones, mocks y una estructura de suites compatible con el ejecutor estándar go test.
Un sandbox para desarrollar y probar componentes de UI de React de forma aislada, sin ejecutar toda la aplicación.
Framework de automatización de pruebas para Node.js que permite hacer pruebas end-to-end, unitarias y de componentes en navegadores y apps móviles mediante WebDriver, BiDi y Appium.
Un servidor SMTP local que captura los correos salientes durante el desarrollo y los muestra en una interfaz web.