[更新]2020-05-01
现在 jest cli 支持选项--按路径运行测试,这样您就可以显式指定文件路径而不是模式,这允许您使用\
在窗户上。
所以下面的launch.json
应该管用:
{
"version": "0.2.0",
"configurations": [
{
"name": "Jest Current File",
"type": "node",
"request": "launch",
"args": [
"node_modules/jest/bin/jest.js",
"--runInBand",
"--runTestsByPath",
"${relativeFile}"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"cwd": "${workspaceFolder}"
}
]
}
以下是原答案:
看来 jest 不打算合作\
并且 vscode 不打算提供替换预定义变量中字符的功能。
但有一些解决方法:
use ${fileBasename}
代替${relativeFile}
Or use 输入变量这样vscode在调试时会提示您输入自定义测试名称。
这是一个例子launch.json
对于上述两种解决方法。
{
"version": "0.2.0",
"configurations": [
{
"name": "Jest Current FileBaseName",
"type": "node",
"request": "launch",
"args": [
"node_modules/jest/bin/jest.js",
"--runInBand",
"${fileBasename}"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"cwd": "${workspaceRoot}"
},
{
"name": "Jest Custom",
"type": "node",
"request": "launch",
"args": [
"node_modules/jest/bin/jest.js",
"--runInBand",
"${input:testName}"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"cwd": "${workspaceRoot}"
}
],
"inputs": [
{
"type": "promptString",
"id": "testName",
"description": "The file or name you want to test",
"default": "${fileBaseName}"
}
]
}