2017-01-09 70 views
2

我設法打斷了我的斷點,但我遇到了一些問題。VSCode我如何使用es6摩卡單元測試和jsx文件進行調試

  • 的代碼是在ES5是不可能調試
  • 只命中與.js文件斷點。我需要它打擊.jsx文件。
  • Mocha.opts似乎根本無法解決這個問題。我曾嘗試添加--compilers jsx:babel-register並將.js重命名爲.jsx,並且斷點不再受到任何影響。這似乎停止工作完全

摩卡選項:

--require babel-register 
--require test/util/dom.js 
--require expect 
--compilers jsx:babel-register 

Launch.json

{ 
    "version": "0.2.0", 
    "configurations": [ 
    { 
     "request": "launch", 
     "name": "Debug Mocha Test", 
     "type": "node", 
     "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha", 
     "args": [ 
     "test/**/*.spec.js", //I need to get this working with .jsx files 
     "--require", "babel-register" 
     ], 
     "cwd": "${workspaceRoot}", 
     "runtimeExecutable": null, 
     "env": { } 
    } 
    ] 
} 

回答

5

原來,這是與節點調試器的錯誤。我修改了所有的問題:

"type": "node""type": "node2"

Launch.json

{ 
    "version": "0.2.0", 
    "configurations": [ 
    { 
     "request": "launch", 
     "name": "Debug Mocha Test", 
     "type": "node2", 
     "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha", 
     "args": [ 
     "test/**/*.spec.jsx", 
     "--colors", "--no-timeouts" 
     ], 
     "cwd": "${workspaceRoot}", 
     "runtimeExecutable": null, 
     "env": { } 
    } 
    ] 
} 

mocha.opts:

--require babel-register 
--require test/util/dom.js 
--require expect 
--compilers jsx:babel-register 

回答weinand拍攝。

您還需要在根應用程序中使用"retainLines": true中的.babelrc文件。這裏是比如我.babelrc文件:

{ 
    "presets": [ 
     "es2015", 
     "stage-2", 
     "react" 
    ], 
    "plugins": [ 
     "transform-es2015-modules-umd" 
    ], 
     "retainLines": true 
} 

如果你bad option: --inspect=...,嘗試和安裝節點的新版本。

+0

看起來像使用「type」:「node」的vscode的當前版本,然後添加「protocol」:「inspector」。但這個答案讓我調試 - 謝謝! – scolestock