vscode-jest
vscode-jest copied to clipboard
Debug codelenes disappear after window loads
I'm using vscode-jest in conjunction with Wallaby.js for my TypeScript application.
I used to see the Debug CodeLens above it() tests, but they no longer stay -- if I restart or do a reload-window, the Debug decoration will appear momentarily, but then disappear. (This is also true if don't start Wallaby.)
If I run vscode-jest in debug mode, I can see that it seems to be throwing a parse error, but it doesn't tell me what the offending file is. Using Jest: Start Runner or using Wallaby I'm able to run jest w/o any issues and can see the test output, so this seems to be specific to invocation for codelens support?
node -v: v10.6.0
npm -v: 6.1.0
npm ls jest -- [email protected]
Operating system: Win7
thanks
=============
ERR Unexpected token (1:16): SyntaxError: Unexpected token (1:16) at Parser.pp$5.raise (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:4454:13) at Parser.pp.unexpected (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:1761:8) at Parser.pp.expectContextual (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:1723:39) at Parser.pp$1.parseImport (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:2869:10) at Parser.pp$1.parseStatement (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:1884:49) at Parser.parseStatement (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:5910:22) at Parser.pp$1.parseBlockBody (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:2268:21) at Parser.pp$1.parseTopLevel (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:1778:8) at Parser.parse (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:1673:17) at parse (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\babylon\lib\index.js:7305:37) at Snapshot.exports.getASTfor.file [as _parser] (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\jest-editor-support\build\parsers\babylon_parser.js:29:50) at Snapshot.getMetadata (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\node_modules\jest-editor-support\build\Snapshot.js:108:27) at SnapshotCodeLensProvider.provideCodeLenses (C:\Users\me.vscode\extensions\orta.vscode-jest-2.9.0\out\src\SnapshotCodeLens\SnapshotCodeLensProvider.js:23:26) at c:\Users\me\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:733:575 at c:\Users\me\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:110:323 at new n.Class.derive._oncancel (c:\Users\me\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:84:776) at Object.t.asWinJsPromise (c:\Users\me\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:110:286) at e.provideCodeLenses (c:\Users\me\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:733:529) at c:\Users\me\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:748:337 at e._withAdapter (c:\Users\me\AppData\Local\Programs\Microsoft VS ...
what is the state of the tests you expect to see the debug codeLense? What are your codeLense related settings?
The default settings for codeLense are:
"jest.enableCodeLens": true,
"jest.debugCodeLens.showWhenTestStateIn": [
"fail",
"unknown"
]
which means it will only show debug codeLense for the tests are either unknown or fail. Once the tests are run and passed, the codeLense will disappear. If you want the codeLense to appear for tests that passed, you can customize:
"jest.debugCodeLens.showWhenTestStateIn": [
"fail",
"unknown",
"pass"
]
possible tests status are:
export enum TestState {
Fail = 'fail',
Pass = 'pass',
Skip = 'skip',
Unknown = 'unknown',
}
For people, like me, who don't know where to set these settings.
- If you don't have a
.vscodedirectory in the root of your project create it. - In the
.vscodedirectory create filesettings.json - In
settings.jsonwrite your settings, eg.:
{
"jest.debugCodeLens.showWhenTestStateIn": [
"fail",
"unknown",
"pass"
]
}
I'm having a similar issue. However, for me, the debug button suddenly stopped showing up at all.
node -v: v14.16.0 npm -v: 7.6.3 npm ls jest -- [email protected] Operating system: Ubuntu on WSL2
In my settings file::
"jest.debugCodeLens.showWhenTestStateIn": [
"pass",
"skip",
"fail",
"unknown"
],
I'm getting the following parse error:
mainThreadExtensionService.ts:59 [[object Object]]Unexpected token (38:32)
$onExtensionRuntimeError @ mainThreadExtensionService.ts:59
_doInvokeHandler @ rpcProtocol.ts:417
_invokeHandler @ rpcProtocol.ts:402
_receiveRequest @ rpcProtocol.ts:318
_receiveOneMessage @ rpcProtocol.ts:245
(anonymous) @ rpcProtocol.ts:110
fire @ event.ts:622
fire @ ipc.net.ts:468
_receiveMessage @ ipc.net.ts:821
(anonymous) @ ipc.net.ts:660
fire @ event.ts:622
acceptChunk @ ipc.net.ts:241
(anonymous) @ ipc.net.ts:202
(anonymous) @ browserSocketFactory.ts:178
fire @ event.ts:622
_fileReader.onload @ browserSocketFactory.ts:62
mainThreadExtensionService.ts:60 SyntaxError: Unexpected token (38:32)
at t.J.raise (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.U.unexpected (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExprSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeUnary (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprOps (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseObjectProperty (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseObjPropValue (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseObjPropValue (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseObj (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExprSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeUnary (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprOps (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExprListItem (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseExprListItem (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseCallExpressionArguments (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeUnary (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprOps (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExpression (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.V.parseBlockBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseBlock (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseFunctionBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseFunctionBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseMethod (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseObjectMethod (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseObjPropValue (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseObjPropValue (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseObj (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExprSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeUnary (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprOps (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExprListItem (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseExprListItem (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseCallExpressionArguments (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeUnary (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprOps (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.V.parseVar (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseVarStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.V.parseBlockBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseBlock (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseFunctionBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseFunctionBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseArrowExpression (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseParenAndDistinguishExpression (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseExprAtom (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.G.parseExprSubscripts (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeUnary (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseExprOps (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeConditional (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.G.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseMaybeAssign (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.V.parseVar (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseVarStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parseStatement (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at t.V.parseBlockBody (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.V.parseTopLevel (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parse (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:369)
at t.parse (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at s (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:129)
at t.parse (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:129)
at Object.t.default (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:370)
at Object.t.parseTest (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:385)
at t.TestResultProvider.getResults (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:385)
at t.TestResultProvider.getSortedResults (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:385)
at t.JestExt.triggerUpdateActiveEditor (/home/zrean/.vscode-server/extensions/orta.vscode-jest-3.2.0/out/extension.js:385)
@TheSimpleZ the Unexpected token usually means test file parsing error, which will prevent the extension from decorating the code, including adding debug codelens on top of the tests. If your code can be compiled, i.e. no syntax error, then it could be an error on our side... In that case, we have fixed quite a bit of parsing related issues in the up-coming release, please feel free to give it a try: alpha-4
@connectdotz I get a similar error to @TheSimpleZ. In my case, this is because a few of my tests use the nullish coalescing operator. If I remove these, the Debug/Run codelens links start appearing again.
It still fails with v4.0.0-alpha.4, but at least the Debug codelens appears there.
@trylle that is strange, I don't have any problem parsing the test with the nullish coalescing operators... did you see any error in the developer-tool console? We can investigate further if you can create a sample repo or at least some code snippets...
All of a sudden, I'm getting this error as well. It used to work.
@portenez what's the error in your console log?