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.
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"}]}
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 issosetTimeout(()=>{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
Jest
Test Driven Development (TDD) com Jest
Test Driven Development, mais conhecido como TDD, é uma abordagem de desenvolvimento de software onde os testes são escritos antes do código de produção. O objetivo principal do TDD é garantir que cada parte do sistema seja testada de forma automatizada, tornando o processo de desenvolvimento mais seguro, previsível e de alta qualidade.
22 de mai. de 20258 min de leitura
Jest
Debugging com Jest: Guia Completo para Solucionar Testes Falhando
Testes falhando são comuns durante o desenvolvimento de software, e depurá-los rapidamente é essencial para produtividade. Neste guia, você vai aprender como utilizar o Chrome DevTools para depurar testes Jest e descobrirá as melhores práticas para resolver problemas comuns de forma eficiente.
20 de mai. de 20255 min de leitura
Jest
Cobertura de Testes com Jest (--coverage)
A cobertura de testes, ou coverage, é uma métrica que mede o quanto do seu código está sendo testado por testes automatizados. Quando você executa testes com Jest utilizando a flag --coverage, ele gera um relatório detalhado que mostra quais partes do seu código estão ou não sendo testadas. Entender esse relatório é fundamental para garantir a qualidade e a segurança da sua aplicação.
16 de mai. de 20256 min de leitura
Jest
Testando Código Assíncrono com Jest
É comum em JavaScript executar código de forma assíncrona. Quando você tiver código assíncrono, o Jest precisa saber quando ele foi concluído para então seguir com os testes seguintes. Felizmente, o Jest oferece várias formas de lidar com isso.