编辑2016年11月:节点现在在调试器,你可以启动内置--inspect
。 这个答案解释它: https://stackoverflow.com/a/39901169/30946 。
我建设的CoffeeScript摩卡测试。 就在测试我的顶部:
require "../assets/js/theObject.coffee"
debugger
ss = new TheObject()
我想是因为在对象停止上线调试theObject.coffee
没有被加载。 我使用的节点检查和它的作品,八九不离十。
我有这个过程是:
- 启动节点检查
- 在使用命令行运行测试
mocha --compilers coffee:coffee-script ./test/theObjectTests.coffee --ui bdd -d --debug-brk
- 转到节点检查页面,刷新它,如果它已经打开
- 等待文件
theObject.coffee
被加载,然后把一个断点的正确路线
必须有一个更简单的方法。 好像我应该能有一个调试运行,只是把它停在该行调试器,但我没能找到。
我有WebStorm,其中有一个调试器( 本文讨论设置它运行摩卡测试,但它并没有帮助我),但是当我启动它,它失败。 该公司在WebStorm调试窗口中运行的命令是:
"C:\Program Files\nodejs\node.exe" --debug-brk=64232 C:\Users\jcollum\AppData\Roaming\npm\_mocha
C:\Users\jcollum\AppData\Roaming\npm\_mocha:2
basedir=`dirname "$0"`
我怀疑这可能是一个Windows特定问题。
ENV:Windows 7中,Webstorm,节点0.8.16,摩卡1.7.4,混帐的bash
问题一:如果你是从头开始,摩卡,什么是得到一个调试器去,将停止在调试线容易最简单的方法? 简单是这里的关键词。
编辑:既然问这个,我使用的是Windows停止在Ubuntu我的工作。 我的摩卡调试过程中(我用很少)是一样的。
编辑,年后 :在6+节点的最短路径是: mocha --debug-brk --inspect ./test.js
加上节点督察Manager插件。
很多星期后,没有答案。 下面是我找到的最快途径。
- 写摩卡测试
- 安装
node-inspector
- 启动
node-inspector
-现在将在5858听 - 先从摩卡测试
--debug-brk
- 在这一点上摩卡测试暂停在第一行
- 打开一个网页浏览器,为localhost:5858
- (可选:在您的测试文件的顶部添加一个调试线,设置断点在该文件中停止后)
- 打F10获得代码去
- 节点检查员将停止在具有任何线
debugger
就可以了。 有时它不会代码文件的窗口移动到正确的地方,所以你必须打F10得到它执行到下一行,并显示在那里它在的文件中。
命令行:
node-inspector & mocha --compilers coffee:coffee-script/register ./test/appTests.coffee --ui bdd -d -g "should X then Y" --debug-brk
除了上面@ jcollum的回答,我已经找到了,而不是使用--debug-BRK标志,最好是只使用--debug标志与-w(表)
这样,当你添加和从代码中删除调试线,摩卡会自动重新加载的测试和节点检查员将暂停到相应的行。
这节省了重新审视不断重新启动测试,然后打不必要的“继续”在调试器中闯过源的第一线的终端。
随着摩卡和最新版本的节点检查 ,这一直是我伟大的工作:
$ node-debug ./node_modules/mocha/bin/_mocha
它加载了当地摩卡可执行文件作为调试过程中,停在第一线,为您设置断点。
在单挑http://sa.github.io/iron-node/ 。 这是最有效的软件调试Node.js的东西相关。
$ iron-node ./node_modules/mocha/bin/_mocha
如果它是一个节点的应用程序,然后使用命令行的集成节点调试器是明星最快捷的路径:
$ mocha $args -- debug
在Webstorm现在你可以设置使用mocha
配置。 工作相当离谱了,我的盒子:
Node interpreter: /usr/local/bin/node
Working directory: /Users/me/sites/mysite
Mocha Package: /Users/me/sites/mysite/node_modules/mocha
然后
All in directory
Test directory: /Users/me/sites/mysite/test
这也显示了它,所以如果你需要你或许可以将其复制到另一个环境中运行的参数。
在问候要么Webstorm或PhpStorm,你可以添加特定的摩卡调试配置:
你必须通过绿色添加,你可以给它一个名字。
如果通过项目已安装摩卡:
npm install mocha --save
要么
yarn add mocha
它会发现在你的项目中根据模块。
我不得不向我的单元测试的正确路径,并击中大关Include subdirectories
/
因为我的项目是打字稿一个我不得不添加:
yarn add ts-node
对于纯JS项目它不应该是必要的。
现在,您可以运行整个测试套件,然后你可以从列表中选择一个测试用例,并运行它们,对它们进行调试自己。
现有的答案都不提阻力最小的路径 :当你需要调试摩卡测试,你可以简单地添加另一种断言检查要调试的值 。
myVar.should.equal(expected);
我觉得这往往是我所需要的。 而我只是删除我用来当我完成调试额外的断言(S)。
现代的方式做,这是使用的NodeJS的检查集成功能 。 它的使用相当简单。 我已经写的如何使用它的详细解释这个帖子