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.

  • Samples para varios serviços

    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/