-
-
Save esamattis/600d6964f3e6ab6e8e7da9a05bfe6574 to your computer and use it in GitHub Desktop.
{ | |
"version": "0.2.0", | |
"configurations": [ | |
{ | |
"type": "node", | |
"request": "launch", | |
"name": "Jest Current File", | |
"runtimeExecutable": "sh", // <-- The important bit! | |
"program": "node_modules/.bin/jest", | |
"args": ["${relativeFile}"], | |
"console": "integratedTerminal", | |
"internalConsoleOptions": "openOnFirstSessionStart" | |
} | |
] | |
} |
Thank you so much for posting this!
LEGEND! Thank you for this. I just spent way too much time trying to figure out how to be able to debug freaking typescript jest tests in a project (new job). For what it's worth, I simply:
- installed the Orta.vscode-jest plugin
- hit
CMD+SHIFT+P
(CTRL+SHIFT+P
for PC) and choseJest: Setup Extension > Setup Jest Debug Config
- added
"runtimeExecutable": "sh",
to that generated config in thelaunch.json
Oh and also, do NOT change the name of the auto-generated launch config. The extension appears to locate the debug configuration by that name, and that name only.
Great job!
Such configuration was not exactly working for me, but I figured out this, and it worked for me. I'm using Jest with ESM modules, pnpm, and Orta's extension (Orta.vscode-jest
):
{
"type": "node",
"name": "vscode-jest-tests.v2",
"request": "launch",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"NODE_OPTIONS": "--experimental-vm-modules --no-warnings"
},
"runtimeExecutable": "pnpm",
"cwd": "${workspaceFolder}",
"args": [
"jest",
"-c",
"${workspaceRoot}/jest.config.mjs",
"--runInBand",
"--watchAll=false",
"--testNamePattern",
"${jest.testNamePattern}",
"--runTestsByPath",
"${jest.testFile}"
]
}
Of course, args are arbitrary and refer to the configuration I use. But this let me also debug the single tests.
BTW, I also have this in my settings.json
to let it run:
{
"jest.jestCommandLine": "NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" pnpm jest -c jest.config.mjs --runInBand"
}
Adding "runtimeExecutable": "sh",
worked for me. Thank you! ๐
๐