Repolode
mswjs

mswjs/msw

Biblioteca JavaScript para mockar APIs, que intercepta requisições de rede em navegadores e no Node.js para que o código do app permaneça inalterado enquanto testes e desenvolvimento usam respostas simuladas.

Estrelas
18,307
Forks
642
Issues abertas
16
Último commit
há 8 dias

O que é?

Mock Service Worker (MSW) simula requisições de API na camada de rede. No navegador, usa a Service Worker API para responder às requisições com suas definições de mock; no Node.js, usa uma camada de interceptação de baixo nível. Como o código da própria aplicação, incluindo fetch, axios e bibliotecas de busca de dados, não é alterado, o app se comporta como em produção.

Os handlers de requisição são escritos com uma sintaxe de roteamento semelhante à do Express, que oferece suporte a parâmetros, curingas e expressões regulares. As respostas podem definir códigos de status, headers, cookies e atrasos, ou ser geradas por resolvers totalmente personalizados. Os mesmos handlers podem ser reutilizados em testes unitários, de integração e E2E, além do desenvolvimento local; as respostas também ficam visíveis na aba Network das DevTools do navegador.

O projeto oferece setupWorker para uso no navegador e setupServer para Node.js, além de um site de documentação e repositórios de exemplo para configurações comuns.

Recursos principais

  • 01Intercepta requisições na camada de rede, mantendo o código da aplicação inalterado.
  • 02Funciona em navegadores via Service Worker e no Node.js para testes e servidores.
  • 03Correspondência de rotas no estilo Express, com parâmetros, curingas e expressões regulares.
  • 04Respostas com códigos de status, headers, cookies e atrasos personalizados, além de funções resolver.
  • 05As respostas simuladas ficam visíveis na aba Network das DevTools do navegador.

Casos de uso

  • Desenvolver funcionalidades de frontend antes de a API do backend estar pronta.
  • Escrever testes unitários, de integração e E2E que simulem chamadas HTTP e GraphQL.
  • Simular endpoints lentos ou com falhas para testar estados de carregamento e erro.
  • Executar um servidor Express local usando APIs de terceiros simuladas.

Início rápido

  1. 1

    Instale o pacote como dependência de desenvolvimento

    npm i msw --save-dev
  2. 2

    Leia o guia oficial de início rápido para configurar os manipuladores de solicitações

Antes de usar

  • A simulação no navegador exige gerar um arquivo Service Worker e distribuí-lo com o app.

Em coleções

Tópicos

Perguntas frequentes

O que é msw?
Biblioteca JavaScript para mockar APIs, que intercepta requisições de rede em navegadores e no Node.js para que o código do app permaneça inalterado enquanto testes e desenvolvimento usam respostas simuladas. Mock Service Worker (MSW) simula requisições de API na camada de rede. No navegador, usa a Service Worker API para responder às requisições com suas definições de mock; no Node.js, usa uma camada de interceptação de baixo nível. Como o código da própria aplicação, incluindo fetch, axios e bibliotecas de busca de dados, não é alterado, o app se comporta como em produção.
msw é gratuito? Qual é a licença?
msw é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
msw ainda é mantido?
Manutenção ativa. O último commit de msw foi em 17 de out. de 2026.
Para que posso usar msw?
Desenvolver funcionalidades de frontend antes de a API do backend estar pronta. Escrever testes unitários, de integração e E2E que simulem chamadas HTTP e GraphQL. Simular endpoints lentos ou com falhas para testar estados de carregamento e erro. Executar um servidor Express local usando APIs de terceiros simuladas.
Como instalar msw?
Instale o pacote como dependência de desenvolvimento: npm i msw --save-dev Leia o guia oficial de início rápido para configurar os manipuladores de solicitações
Onde consigo msw?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mswjs/msw

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados