我的手上有一个失败的javascript jest测试,因此,我使用了常用的东西进行调试: node-debug --nodejs --harmony ./node_modules/jest-cli/bin/jest.js --runInBand
所以,它实际上有效,但是所有的恶魔般的黑魔法都在幕后,我无法看到原始代码并让调试器正确地浏览它。我只得到我们讨厌的那些可怕的单行中的一个,或者有时会陷入调试器中的调用函数(试过chrome dev工具和visual studio代码)。 那么,有没有办法生成一个可用的js映射并用它来调试jest测试? 我是否必须通过观察调用堆栈并猜测我在我的代码中的位置来导航?
答案 0 :(得分:2)
这个问题已经很老了,变了很多。对于最近的Jest调试冒险导致解决方案阅读我的帖子:
Debugging Jest unit tests with breakpoints in VS Code with React Native
简而言之,归结为:
v8.*
了!这是主要问题。 inspector
协议不是生产就绪的。
8.1.2
降级为7.10.1
ignite-ir-boilerplate
引导项目
我使用了Visual Studio Code调试器v1.13.1
,然后设置了以下配置:
{
"type": "node",
"request": "launch",
"name": "Launch Tests",
"program": "${workspaceRoot}/node_modules/.bin/jest",
"args": [
"--runInBand",
"--no-cache"
],
"runtimeArgs": [
"--debug-brk=127.0.0.1:5858"
],
"port": 5858
}
那就是它。您可以在应用程序代码,node_modules和单元测试中设置断点。