Resolução de Problemas
Hã, algo deu errado? Use este guia para resolver problemas com Jest.
Testes estão falhando e você não sabe por que
Try using the debugging support built into Node. Coloque uma instrução debugger;
em qualquer um dos seus testes e em seguida, no diretório do seu projeto, execute:
node --inspect-brk node_modules/.bin/jest --runInBand [any other arguments here]
or on Windows
node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand [any other arguments here]
This will run Jest in a Node process that an external debugger can connect to. Note that the process will pause until the debugger has connected to it.
To debug in Google Chrome (or any Chromium-based browser), open your browser and go to chrome://inspect
and click on "Open Dedicated DevTools for Node", which will give you a list of available node instances you can connect to. Click on the address displayed in the terminal (usually something like localhost:9229
) after running the above command, and you will be able to debug Jest using Chrome's DevTools.
The Chrome Developer Tools will be displayed, and a breakpoint will be set at the first line of the Jest CLI script (this is done to give you time to open the developer tools and to prevent Jest from executing before you have time to do so). Clique no botão que se parece com um botão "play" no lado superior direito da tela para continuar a execução. Quando Jest executa o teste que contém a instrução debugger
, a execução fará uma pausa e você pode examinar o escopo atual e a pilha de chamada.
The --runInBand
cli option makes sure Jest runs the test in the same process rather than spawning processes for individual tests. Normalmente Jest paraleliza execução de testes através de processos, mas é difícil de depurar vários processos ao mesmo tempo.