首页 文章

如何在Visual Studio代码调试器中使用Jest时配置源映射

提问于
浏览
17

我正在使用react native编写应用程序,我希望能够使用jest框架测试我的代码并使用visual studio代码编辑器调试器来设置断点 . 我目前遇到的问题是无论我如何运行调试器,无论是通过生成新实例还是附加它,我似乎无法从babel中获取源映射 . 我在.babelrc文件中尝试过各种配置,但似乎都没有 .

VScode版本 - 1.6.0(最新)

我的目录结构类似于此

-package.json
-node_modules
-.babelrc
-dist
-app
 -myModule.js
 -test
   -myModule.spec.js

然后在我的.babelrc中我有以下内容

{
    "presets" : ["react-native"],
    "sourceMaps" : true,
    "outDir" : "./dist"
}

我已经尝试将 sourceMaps 道具设置为 trueinline ,两者都不适用于当前的 launch.json 配置 .

这是我的 launch.json 用于运行Jest测试器

{

            "name" : "Launch via jest",
            "type": "node",
            "request": "launch",
            "program" : "${workspaceRoot}/node_modules/jest/bin/jest.js",
            "cwd": "${workspaceRoot}",
            "args": [
                "--runInBand"
            ],
            "runtimeArgs": [
                "--harmony"
            ],
            "sourceMaps": true,
            "outDir" : "${workspaceRoot}/dist"
}

--harmony--runInBand 都是使调试器正常工作所必需的,因为Jest将生成与端口冲突的子进程 .

我的package.json中还有其他Jest配置

"jest": {
    "preset": "jest-react-native"
  }

现在,无论何时我运行调试器,它都会运行,它会在babel输出的断点处停止,而不是原始源,这对于帮助不大 . 我还应该提一下,测试本身是由babel编译的,我不确定它是否重要 .

任何指针或不同的配置都欢迎 .

2 回答

  • 0

    .babelrc选项是 sourceMap 单数 . { "sourceMap" : "inline" } 适合我 .

  • 3

    你的开玩笑配置是什么?我看到奇怪的转换输出与覆盖相关,直到我添加以下配置值:

    "testRegex": "src/.*\\.test\\.js$"

相关问题