如何debugging咕噜莫卡任务?

我正在使用WebStorm运行一个咕task任务。 debugging器成功停止在Gruntfile.js文件的断点处,但不在我的任务文件中。

在Gruntfile.js中,我注册了一个这样的任务:

grunt.initConfig({ ... configuration ... }); grunt.registerTask('myTask', ['mocha:myTask']); 

当我在testing“myTask”的相应js文件中设置一个断点时,它不会停止。 我怎样才能debugging咕噜testing呢?


UPDATE —————————————

所以我尝试了所有可能的解决scheme,但这并没有解决我的问题!

我能够debugginggrunt脚本本身,这是debugging器实际停止的地方(在WebStorm或节点检查器中)。 Gruntfile.js中的一个断点正在工作。

问题是,我无法debugging实际的Grunt任务本身,像这样注册grunt:grunt.registerTask('myTask',['mocha:myTask']);

我也能够debugging摩卡testing本身。 但是我想debugging一下从grunt task runner调用的一个mochatesting。 有任何想法吗?

要在debugging中运行grunt任务,您需要将grunt任务脚本传递给node-inspector:

 node-debug $(Path \AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt) task 

放一个debugger; 在你的任务线。 然后node-inspector将打开一个带有debugging工具的浏览器。

这个链接帮助你如何工作grunt-node-inspector

例如: ChrisWren / grunt-node-inspector

来源: Stackoverflow的问题

最后,我能够debugging我的摩卡的任务! 感谢所有的答复和评论,但不幸的是,我必须select我自己的答案,因为那是唯一对我有用的答案。

感谢这段video,我发现我错过了: http : //vimeo.com/97561531

基本上是两件事情:

  1. 为grunt的摩卡configuration添加一个“debug-brk”选项:

     grunt.initConfig({ ... "options": { "mocha": { ... "debug-brk": (grunt.option('debug-brk')) ? "" : 0 } } } 
  2. 像这样configurationWebStorm的debuggingconfiguration:

    WebStorm的调试配置暂停调试brk

如果碰巧使用WebStorm IDE,您可以设置一个任务,然后运行或debugging它。

您可以在屏幕截图中看到grunt jasmine_node_no_coverage命令的configuration。 请注意,我在全球安装了grunt。

WebStorm中的任务配置

尝试一下grunt-debug-task

它类似于节点debugging器。 只需运行grunt debug taskname

我试了一下。 它有时打破,但似乎工作。