O que é o Mockoon?
Mockoon é uma ferramenta open‑source para mocking de APIs REST, criada em 2017 por Guillaume Monnet. Disponível como aplicativo desktop para Windows, macOS e Linux, além de CLI e imagem Docker, o Mockoon permite aos desenvolvedores criar rapidamente servidores mock locais para testar aplicações sem depender de APIs externas.
Detalhes
Temos um arquivo estático de mock que contém todas regras de chamadas HTTP e WS A edição do arquivo é feita através de uma aplicação GUI, que tem o look and feel do Postman. Além de editar o GUI tbm pode subir o serviço que faz um servidor mock de chamadas. Para subir o serviço de mock temos 3 opções: 1) O GUI 2) uma aplicação CLI 3) via npm
Nos mocks do client-web usamos o npm para subir o servidor mock com esse comando no package.json:
"serve:mockoon": "npx @mockoon/cli start -d mockoon.json -p 9942",
Vantagens do Mockoon
Mock de WebSocket
Permite simular servidores WebSocket para testar interações em tempo real.
Regras de resposta avançadas
É possível criar regras usando rota, parâmetros de query e conteúdo do body para gerar respostas distintas no mesmo endpoint.
Servidor mock via npm
Basta instalar como dependência de desenvolvimento e iniciar com npm run mockoon, reduzindo acoplamento e dependências globais.
Simulação de webhooks e callbacks
Suporte paraWebhooks e Callbacks, ideal para fluxos assíncronos.
Vários exemplos prontos estão disponíveis em Mockoon Samples. Além da integração com o Faker
Desvantagens do Mockoon
Migração automática de schemas
Ao abrir um arquivo de mock JSON gerado por versões anteriores, o GUI faz migração automática, sem opção de compatibilidade. Isso obriga a atualização da dependência no projeto para rodar os mocks migrados, além de obrigar os desenvolvedores usarem sempre a mesma versão em cada projeto.
Acesso a versões antigas
Não há link direto no site para downloads de releases anteriores. A única forma encontrada foi baixar pelos assets do repositório GitHub.
Regras estáticas
As regras devem estar pré-definidas no arquivo de configuração. Não há suporte para criação ou remoção dinâmica de regras via API, o que facilitaria cenários de testes E2E que precisem alterar mocks em tempo de execução.
Possíveis alternativas para mock de APIs em ambiente Web
Mock Service Worker (MSW)
Intercepta requisições HTTP/GraphQL diretamente no navegador, usando Service Workers. Bom para testes de unidade e integração, pois funciona de forma transparente ao código. Site: https://mswjs.io
MirageJS
Cria um servidor mock completo em JavaScript, ideal para aplicações Ember ou React. Permite definir rotas, serializers e seeds de dados de forma programática. Site: https://miragejs.com
JSON Server
Simula um servidor REST usando um arquivo JSON como banco de dados. Rápido para prototipação de APIs CRUD e testes manuais. Repositório: https://github.com/typicode/json-server
WireMock
Ferramenta mais robusta (Java-based) que pode ser executada em standalone ou embed, oferecendo gravação e reprodução de tráfego HTTP, simulação de latência e fault injection. Site: http://wiremock.org
Nock
Biblioteca para Node.js que intercepta e mocka requisições HTTP em nível de cliente (http/https). Muito usada em testes unitários de back-end, mas pode ser adaptada para scripts de teste de front-end que rodem em Node. Repositório: https://github.com/nock/nock
Postman Mock Server
Crie mock servers baseados em suas coleções e exemplos do Postman. Útil para alinhamento de contratos entre equipes e demonstração rápida de APIs. Documentação: https://learning.postman.com/docs/designing-and-developing-your-api/mocking-data/setting-up-mock/