【问题标题】:How do I run javascript tests using debugger; statements?如何使用调试器运行 javascript 测试;陈述?
【发布时间】:2016-01-10 00:21:07
【问题描述】:

似乎没有一个通用的答案,也没有在 Stack Overflow 上询问。我来自 Python 背景,我可以在我的代码中使用 import pdb; pdb.set_trace() 并立即使用调试器遍历代码。如何在 NodeJS 中做到这一点?

例如,我正在尝试在Browserify Shim 中运行和调试测试。这使用 npm 的tap testing framework。要运行测试,我需要从 Browserify-shim 的根目录运行 npm run test-main

如果我在代码或测试中添加debugger; 语句,则不会发生任何事情。我试过运行npm run test-main --debugnpm run test-main --debug-brk 无济于事。

在 NodeJS 中有效单步执行代码的正确方法是什么?

【问题讨论】:

  • 不确定this 是否有帮助
  • @JaromandaX 这就是我想要使用的。在这种情况下如何使用它?如果我在浏览器中添加它,它会按预期工作。我希望它在运行测试时从命令行工作,就像使用 Python 一样。
  • 这不是在代码中添加debugger那么简单——你必须使用调试选项启动节点
  • @JaromandaX 是的,这就是我要问的,在这种情况下我该怎么做?
  • 原谅我的无知 - stackoverflow.com/questions/9633280/… 有帮助吗?

标签: javascript node.js unit-testing debugging testing


【解决方案1】:

我发现 Tap 测试运行器并不是运行测试的唯一方法,从而找到了答案。

为了解决,首先我安装了Iron-node

npm install -g iron-node

然后,对于我想在调试模式下运行的任何测试,我都会使用iron-node /path/to/test.js,这会引导我进入浏览器中的 devtools 调试会话。

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 2018-04-09
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2017-11-06
    相关资源
    最近更新 更多