必须指定节点Jest- Configh路径

时间:2017-10-09 08:26:41

标签: node.js jest

我正在将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".

4 个答案:

答案 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}

Source

答案 2 :(得分:0)

我是 Jest 的新手,所以我多次遇到这个问题!又来了好几次,都没解决!没有任何效果。不管听起来多么愚蠢,问题在于缺少 package.json,没有它你就无法运行。也许它在文档的某个地方,我不是很耐心地继续阅读文档!因此,测试显而易见的:如果你创建了你的 package.json!!!

答案 3 :(得分:0)

只需输入以下内容即可。

npm init