12

I have many jest tests, within many test suites, within many test files.

I need to isolate and debug a single test.

I'm debugging via node --inspect-brk ./node_modules/jest/bin/jest, so other solutions involving watch mode are too complicated.

How can I skip all tests except the one I need to debug?

A-Sharabiani
  • 15,608
  • 15
  • 99
  • 122
ChaseMoskal
  • 6,434
  • 5
  • 32
  • 44
  • 2
    Possible duplicate of [Run only ONE test with Jest](https://stackoverflow.com/questions/44446626/run-only-one-test-with-jest) – blex May 23 '18 at 21:34
  • 1
    i clarified the question to differentiate it from the others — this question is about debugging, and requires a solution that is compatible with the `node --inspect-brk` method of debugging – ChaseMoskal May 24 '18 at 02:35

2 Answers2

8

jest handles this in two steps

  1. isolate your test file by running jest with the testPathPattern (jest docs) command line argument

    node --inspect-brk ./node_modules/jest/bin/jest --testPathPattern="integration.test"
    

    here integration.test is supplied as a regular expression to filter for the correct test file

  2. isolate your test function
    there are two ways to do this

    • one way is to use the testNamePattern (jest docs) command line argument

      node --inspect-brk ./node_modules/jest/bin/jest --testNamePattern="host events"
      

      here host events is supplied as a regular expression to filter for the correct test suite name

    • alternatively, you can add .only to your test function:

      • so that test("object works", async() => {/*...*/})

      • becomes test.only("object works", async() => {/*...*/})

ChaseMoskal
  • 6,434
  • 5
  • 32
  • 44
7

I am using VSCode for debugging and in launch.json add to runTimeArgs a testPathPattern as your folder name:

{
"version": "0.2.0",
"configurations": [{
    "name": "Debug Jest Tests",
    "type": "node",
    "request": "launch",
    "runtimeArgs": [
        "--inspect-brk",
        "${workspaceRoot}/node_modules/jest/bin/jest.js",
        "--runInBand",
        "--testPathPattern=<NameOfTheFolder-you-want-to-test-without-this-angle-brackets>"
    ],
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen",
    "port": 9229
}]
}
Binoy S Kumar
  • 239
  • 3
  • 9