githubEdit

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 Issues (bugs)

  2. FAQ (perguntas frequentes)


✅ Checklist de Troubleshooting

Quando algo não funciona, siga esta checklist:


📚 Veja Também

Last updated

Was this helpful?