什么是阻力最小的路径调试摩卡测试?(what's the least resistance

2019-07-18 03:42发布

编辑2016年11月:节点现在在调试器,你可以启动内置--inspect 。 这个答案解释它: https://stackoverflow.com/a/39901169/30946 。

我建设的CoffeeScript摩卡测试。 就在测试我的顶部:

require "../assets/js/theObject.coffee"
debugger
ss = new TheObject()

我想是因为在对象停止上线调试theObject.coffee没有被加载。 我使用的节点检查和它的作品,八九不离十。

我有这个过程是:

  1. 启动节点检查
  2. 在使用命令行运行测试mocha --compilers coffee:coffee-script ./test/theObjectTests.coffee --ui bdd -d --debug-brk
  3. 转到节点检查页面,刷新它,如果它已经打开
  4. 等待文件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我的工作。 我的摩卡调试过程中(我用很少)是一样的。

Answer 1:

编辑,年后 :在6+节点的最短路径是: mocha --debug-brk --inspect ./test.js加上节点督察Manager插件。

很多星期后,没有答案。 下面是我找到的最快途径。

  1. 写摩卡测试
  2. 安装node-inspector
  3. 启动node-inspector -现在将在5858听
  4. 先从摩卡测试--debug-brk
  5. 在这一点上摩卡测试暂停在第一行
  6. 打开一个网页浏览器,为localhost:5858
  7. (可选:在您的测试文件的顶部添加一个调试线,设置断点在该文件中停止后)
  8. 打F10获得代码去
  9. 节点检查员将停止在具有任何线debugger就可以了。 有时它不会代码文件的窗口移动到正确的地方,所以你必须打F10得到它执行到下一行,并显示在那里它在的文件中。

命令行:

node-inspector & mocha --compilers coffee:coffee-script/register ./test/appTests.coffee --ui bdd -d -g "should X then Y" --debug-brk



Answer 2:

除了上面@ jcollum的回答,我已经找到了,而不是使用--debug-BRK标志,最好是只使用--debug标志与-w(表)

这样,当你添加和从代码中删除调试线,摩卡会自动重新加载的测试和节点检查员将暂停到相应的行。

这节省了重新审视不断重新启动测试,然后打不必要的“继续”在调试器中闯过源的第一线的终端。



Answer 3:

随着摩卡和最新版本的节点检查 ,这一直是我伟大的工作:

$ node-debug ./node_modules/mocha/bin/_mocha

它加载了当地摩卡可执行文件作为调试过程中,停在第一线,为您设置断点。



Answer 4:

在单挑http://sa.github.io/iron-node/ 。 这是最有效的软件调试Node.js的东西相关。

$ iron-node ./node_modules/mocha/bin/_mocha



Answer 5:

使用WebStorm节点调试器替代方式。

简而言之:

  1. 你需要WebStorm
  2. 在创建新的WebStorm节点调试简介
  3. 设置路径的摩卡二进制为Path to Node App JS File
  4. 添加断点,并从WebStorm启动会话

详细指令与由Glenn块的屏幕截图。



Answer 6:

如果它是一个节点的应用程序,然后使用命令行的集成节点调试器是明星最快捷的路径:

$ mocha $args -- debug


Answer 7:

在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

这也显示了它,所以如果你需要你或许可以将其复制到另一个环境中运行的参数。



Answer 8:

在问候要么Webstorm或PhpStorm,你可以添加特定的摩卡调试配置:

你必须通过绿色添加,你可以给它一个名字。

如果通过项目已安装摩卡:

 npm install mocha --save

要么

 yarn add mocha

它会发现在你的项目中根据模块。

我不得不向我的单元测试的正确路径,并击中大关Include subdirectories /

因为我的项目是打字稿一个我不得不添加:

yarn add ts-node

对于纯JS项目它不应该是必要的。

现在,您可以运行整个测试套件,然后你可以从列表中选择一个测试用例,并运行它们,对它们进行调试自己。



Answer 9:

现有的答案都不提阻力最小的路径 :当你需要调试摩卡测试,你可以简单地添加另一种断言检查要调试的值

myVar.should.equal(expected);

我觉得这往往是我所需要的。 而我只是删除我用来当我完成调试额外的断言(S)。



Answer 10:

现代的方式做,这是使用的NodeJS的检查集成功能 。 它的使用相当简单。 我已经写的如何使用它的详细解释这个帖子



文章来源: what's the least resistance path to debugging mocha tests?