-
-
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+Pfor 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! ๐
https://twitter.com/esamatti/status/1519338647857860609
fix for