
Jest
Resolução de Problemas com Jest
Encontrou um erro inesperado? Este guia vai te ajudar a depurar e resolver problemas comuns ao usar o Jest.
• 16 de mai. de 2025
• 6 min de leitura

Testes falhando sem motivo aparente
Para investigar falhas misteriosas, adicione a instrução debugger;
dentro de qualquer teste e execute o comando abaixo no terminal do seu projeto:
node --inspect-brk node_modules/.bin/jest --runInBand [outros argumentos]
Se você estiver no Windows:
node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand [outros argumentos]
Isso fará com que o Jest rode em um processo Node.js aguardando a conexão de um depurador externo.
No Google Chrome:
- Acesse
chrome://inspect
. - Clique em "Abrir DevTools Dedicados para Node".
- Conecte-se ao endereço exibido no terminal (geralmente
localhost:9229
).
Assim que conectado, pressione o botão "play" no DevTools para continuar. Quando o Jest atingir a instrução debugger;
, a execução será pausada para inspeção.
Depurando no VS Code
1. Rodando manualmente e anexando o depurador:
Execute o comando:
node --inspect-brk node_modules/.bin/jest --runInBand
Depois, adicione esta configuração no seu launch.json
:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach to Jest", "port": 9229 } ] }
2. Iniciando automaticamente e depurando:
Para sistemas Unix/Linux/macOS:
{ "version": "0.2.0", "configurations": [ { "name": "Debug Jest Tests", "type": "node", "request": "launch", "runtimeArgs": [ "--inspect-brk", "${workspaceRoot}/node_modules/.bin/jest", "--runInBand" ], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" } ] }
Para Windows:
{ "version": "0.2.0", "configurations": [ { "name": "Debug Jest Tests", "type": "node", "request": "launch", "runtimeArgs": [ "--inspect-brk", "${workspaceRoot}/node_modules/jest/bin/jest.js", "--runInBand" ], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" } ] }
Para projetos criados com Create React App:
{ "version": "0.2.0", "configurations": [ { "name": "Debug CRA Tests", "type": "node", "request": "launch", "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts", "args": [ "test", "--runInBand", "--no-cache", "--env=jsdom", "--watchAll=false" ], "cwd": "${workspaceRoot}", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" } ] }
Problemas comuns e soluções rápidas
1. Cache do Jest
Se você atualizou Babel ou scripts de transformação e as mudanças não refletiram, execute os testes com:
jest --no-cache
2. Promessas não resolvidas
Se receber o erro:
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
Isso geralmente indica uma promessa que nunca foi resolvida.
- Garanta que a Promessa seja corretamente resolvida.
- Use uma Promise "real" para evitar conflitos:
globalThis.Promise = jest.requireActual('promise');
- Aumente o tempo limite do teste, se necessário:
jest.setTimeout(10000); // 10 segundos
3. coveragePathIgnorePatterns não funciona
Certifique-se de que você não está usando o plugin babel-plugin-istanbul
. Jest já gerencia a cobertura de testes usando o Istanbul nativamente.
4. Testes devem ser definidos de forma síncrona
Evite definir testes dentro de funções assíncronas ou timeouts:
// Errado - Não faça isso setTimeout(() => { it('should work', () => expect(1).toBe(1)); }, 0);
Isso impede que o Jest colete os testes corretamente.
Dica: Defina sempre os testes de forma direta no escopo do arquivo.
Outras boas práticas
- Mantenha suas dependências atualizadas.
- Use
--runInBand
quando precisar debugar ou em ambientes limitados de CPU. - Para projetos grandes, ative
verbose: true
no Jest para ver claramente quais testes estão sendo executados.
Com essas dicas, resolver problemas no Jest será muito mais tranquilo. Se os erros persistirem, lembre-se de consultar também a documentação oficial do Jest.
Tags
Jest
Artigos Relacionados



