Issue
I have a nodejs project. I'm using the debugger (in IntelliJ if it matters) to step through tests. I'd like to configure my project using best practices so that when I'm using the debugger I modify the test timeout to be longer than the default 5 seconds. I am aware that I can put the following line in package.json to change the timeout.
{
"name": "my-project",
"jest": {
"testTimeout": 20000
}
}
But I'm looking for a way to modify the timeout only (and automatically) when debugging. I'm sure there is a good way, but I'm fairly new to nodejs and the conventions/mechanisms for setting up various envionments.
Solution
If using create-react-app
, the setupFilesAfterEnv
is configured to src\setupTests.ts
.
This is the entry point before any tests are executed/debugged and if you can detect that you're in a DEBUG mode then you can set a new timeout.
e.g.,
if (process.env.DEBUG === 'jest') {
jest.setTimeout(5 * 60 * 1000);
}
In VS Code, you can add launch.json
configuration as documented with "DEBUG": "jest"
added to the env
.
{
"name": "Debug CRA Tests",
"type": "node",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-app-rewired",
"args": ["test", "--runInBand", "--no-cache", "--watchAll=false"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"CI": "true",
"DEBUG": "jest"
},
"disableOptimisticBPs": true
}
Answered By - Dennis
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.