【问题标题】:NestJs - How Debug jest tests using typescriptNestJs - 如何使用 typescript 调试 jest 测试
【发布时间】:2019-12-28 09:18:35
【问题描述】:

我正在尝试使用 typescript 和 Nestjs 框架来调试我的笑话测试。我尝试了很多命令,但似乎没有一个有效。我也试过NestJs typescript starter 提供的这个脚本,但效果不佳。

命令如下:

"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand"

每次我运行这个命令后什么都没有发生,只是这个消息出现在控制台中:

没有调试模式,我的所有测试都可以正常工作。

我发现一些博客文章/教程告诉我们如何使用 typescript 和 ts-jest 调试 jest 测试,但它们都不适合我 :(

我的问题是:

  • 我需要在 vscode launch.json 上做任何额外的设置吗?
  • 为什么当我运行命令 test:debug 时没有任何反应? (调试器监听 ws://127.0.0.1:9229/5f1fa5dd-6450-488b-8e4d-cc9ff3003804 如需帮助,请参阅:https://nodejs.org/en/docs/inspector

【问题讨论】:

    标签: node.js typescript jestjs nestjs


    【解决方案1】:

    你应该在你的 Vscode 中启用auto attach 然后运行你的脚本。 您可以通过从命令面板运行 Debug: Toggle Auto Attach 命令来启用它。

    【讨论】:

    • 谢谢。唯一缺少的是自动附加。
    【解决方案2】:

    调试 jest 测试的方法有很多种,vscode launch.json 就是其中之一,您还可以在运行 Web 套接字时使用 Google Chrome 的检查器 (chrome://inspect),它将出现在设备上列表,然后在 chrome 检查器中添加您的文件夹。这里有Official Jest Documentation

    【讨论】:

      【解决方案3】:

      使用标志--inspect-brk,调试器将在启动后立即中断,您必须运行 continue 才能开始测试。

      相反,您可以使用标志 --inspect,它不会以断点开始测试。


      有多种调试测试的方法。您可以通过打开 about:inspect 使用 Chrome Devtools 连接到调试器,或者为了更方便使用 IDE 中的内置调试器,例如 Webstorm,它具有开箱即用的出色支持。如需更多信息,请参阅official docs

      【讨论】:

        猜你喜欢
        • 2022-01-06
        • 2019-11-15
        • 2019-08-29
        • 1970-01-01
        • 2020-11-16
        • 1970-01-01
        • 2016-01-19
        • 2021-02-03
        • 2018-07-26
        相关资源
        最近更新 更多