在VS代码中调试Jest测试:断点移动

时间:2018-09-05 18:28:54

标签: javascript debugging visual-studio-code jestjs

在VS Code中调试Jest测试时,一旦启动调试器,我的断点就会移动几行。

我使用官方推荐的配置,如here所述,使用纯JavaScript(不是Babel)。

我认为这与源地图有关。 在配置中设置"sourceMaps": false使我的断点不再移动,而是将“真实”源代码移动了几行。

任何提示都非常感谢!

非常感谢您的帮助和问候

亚诺(Arno)

//二手软件

VS代码:1.27.0,无扩展名

笑话:23.5.0

节点:8.10.0

Ubuntu Linux 16.04

最小示例:

// hello_world.test.js

funTest = require('./hello_world.js')




const x = 15

test('this is a test', () => {
    expect(funTest(5)).toBe(9)
})

// hello_world.js

const funTest = () => {
  return 9 
}

module.exports= funTest

现在,如果您在const x = 15处设置一个断点,则会在调试会话期间看到它已移至expect(funTest(5)).toBe(9)

2 个答案:

答案 0 :(得分:16)

我自己找到了“解决方案”。 将.babelrc文件添加到具有以下内容的根文件夹中:

{
  "sourceMap": "inline",
  "retainLines": true
}

然后问题就解决了。

即使我没有专门使用Babel,VS Code也会使用。

答案 1 :(得分:2)

vscode-jest-tests的{​​{1}}配置中添加以下内容:

launch.json

这对我和several other people都有效。