我正在将Jest测试用例运行到reactjs项目中。我试图在VS代码中调试我的jest测试用例。测试在命令行上运行正常。但是当我在VS代码中启动调试器时,我看到错误。
Launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest Tests",
"program": "${workspaceRoot}/xxx/xxx/node_modules/jest/bin/jest",
"args": [
"-i"
],
"internalConsoleOptions": "openOnSessionStart",
"outFiles": [
"${workspaceRoot}/xxx/xxx/**/*"
]
}
]
}
Debugger listening on ws://127.0.0.1:31182/2bf113f1-002f-49ed-ad91-5510affd172a
Debugger attached.
Error: Could not find a config file based on provided values:
path: "/Users/xxx/xxx/xxx-ui"
cwd: "/Users/xxx/xxx/xxx-ui"
Configh paths must be specified by either a direct path to a config
file, or a path to a directory. If directory is given, Jest will try to
traverse directory tree up, until it finds either "jest.config.js" or
"package.json".
答案 0 :(得分:2)
我会告诉你这对我有什么用。
正如文档所述,如果您的代码不在项目文件夹的根目录中,您应该创建一个新的配置文件来指定j。在.vscode文件夹中的位置,例如:
.vscode / settings.json
{
"jest.pathToJest": "functions/node_modules/.bin/jest"
}
(您应该将“functions”替换为您自己的文件夹名称,如果您的项目根目录中有代码,则无需执行上一步)
在这样做之后我仍然得到与你相同的错误,即使我正确配置了jest的路径并且我的package.json上正确指定了我的jest配置,然后我将我的jest配置移动到jest.config我的项目根目录上的.js文件就是这样,在我使用命令Jest:Start Runner之后,jest现在启动并运行。
//jest.config.js on root dir
module.exports = { verbose: true };
我希望你能让它发挥作用
喝彩!
答案 1 :(得分:2)
只需在启动配置中指定-c选项:
{
"name": "Debug Jest Tests",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--inspect-brk",
"{$PathToNPMRoot}/node_modules/jest/bin/jest.js",
"--runInBand",
"-c", "{$PathToConfig}/jest.config.js",
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"port": 9229
},
您将必须替换{$ PathToNPMRoot}和{$ PathToConfig}
答案 2 :(得分:0)
我是 Jest 的新手,所以我多次遇到这个问题!又来了好几次,都没解决!没有任何效果。不管听起来多么愚蠢,问题在于缺少 package.json,没有它你就无法运行。也许它在文档的某个地方,我不是很耐心地继续阅读文档!因此,测试显而易见的:如果你创建了你的 package.json!!!
答案 3 :(得分:0)
只需输入以下内容即可。
npm init