Troubleshooting

Guia de resolução de problemas do moclojer. Soluções para erros comuns, debugging tips e como obter ajuda quando algo não funciona.

Este guia ajuda você a resolver problemas comuns ao usar moclojer. Os problemas estão organizados por categoria para facilitar a busca.

🚀 Início Rápido

Antes de começar o troubleshooting:

  1. ✅ Verifique a versão do moclojer

    moclojer --version
  2. ✅ Teste com configuração mínima

    - endpoint:
        path: /test
        response:
          body: "ok"
  3. ✅ Verifique os logs do servidor

    moclojer --config mocks.yml 2>&1 | tee moclojer.log

📁 Problemas de Configuração

"Config file not found"

Sintoma:

Causas e Soluções:

  1. Arquivo não existe no caminho especificado

  2. Caminho relativo incorreto

  3. Arquivo na localização XDG padrão


"YAML parse error"

Sintoma:

Causas e Soluções:

  1. Indentação incorreta (espaços vs tabs)

    Solução: Configure seu editor para usar "soft tabs" (espaços)

  2. Dois-pontos em string sem aspas

  3. JSON inline mal formatado

  4. Aspas não fechadas

Ferramentas de validação:


"Invalid JSON in response body"

Sintoma: Response body não é JSON válido, mas você esperava JSON.

Soluções:

  1. Use > para JSON multi-linha

  2. Escape de aspas em templates

  3. Números sem aspas, strings com aspas


🌐 Problemas de Servidor

"Address already in use"

Sintoma:

Causa: Outra aplicação está usando a porta 8000.

Soluções:

  1. Descobrir qual processo está usando a porta

  2. Matar o processo

  3. Usar porta diferente


"Server started but requests timeout"

Sintoma: Servidor inicia, mas requests nunca respondem.

Causas e Soluções:

  1. Firewall bloqueando conexões

  2. Binding em IP errado

  3. Proxy ou VPN interferindo


🔍 Problemas de Matching

"404 Not Found" quando deveria fazer match

Sintoma: Você faz um request mas recebe 404, mesmo tendo um endpoint configurado.

Debugging:

  1. Verificar método HTTP

  2. Verificar path exato

  3. Case sensitivity

  4. Tipo de path parameter incorreto

  5. Ordem de precedência

Solução geral: Adicione logging temporário


Templates não são substituídos

Sintoma: Response contém {{path-params.id}} literal ao invés do valor.

Causas e Soluções:

  1. Nome do parâmetro não corresponde

  2. Sintaxe incorreta

  3. Query param não foi passado


🔄 Problemas de Hot-Reload

"Hot-reload não funciona"

Sintoma: Você modifica moclojer.yml mas mudanças não aparecem.

Causas e Soluções:

  1. Não passou flag --watch

  2. Usando binário nativo (GraalVM)

  3. Editor salvando em arquivo temporário

  4. Arquivo em filesystem remoto (NFS, etc)


🐳 Problemas com Docker

"Container starts but can't connect"

Sintoma: Container do moclojer inicia mas você não consegue fazer requests.

Soluções:

  1. Port mapping incorreto

  2. Config file não montado

  3. Servidor binding em 127.0.0.1 (dentro do container)


🌍 Problemas de CORS

"CORS error in browser"

Sintoma:

Solução:

  1. Habilitar CORS globalmente

  2. Configurar CORS por endpoint

  3. CORS específico por origem


🔧 Debugging Avançado

Habilitar Logs Verbosos

Testar com curl -v (verbose)

Usar Proxy para Inspecionar

Testar JSON com jq


🆘 Obtendo Ajuda

Antes de Pedir Ajuda

Prepare as seguintes informações:

  1. Versão do moclojer

  2. Sistema operacional

  3. Configuração mínima que reproduz o problema

  4. Comando exato usado

  5. Erro completo (copie tudo!)

  6. Request que você está fazendo

Onde Pedir Ajuda

  1. GitHub Discussions (perguntas gerais)

  2. GitHub Issues (bugs)

  3. FAQ (perguntas frequentes)


✅ Checklist de Troubleshooting

Quando algo não funciona, siga esta checklist:


📚 Veja Também

Last updated

Was this helpful?