首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运行jest测试时无法附加调试器

是因为Jest默认在沙箱环境中运行测试代码,无法直接附加调试器。不过,可以通过以下方法解决这个问题:

  1. 使用--inspect-brk标志运行Jest:在运行Jest命令时,添加--inspect-brk标志可以启动Node.js的调试器,并在第一行代码处暂停执行,等待调试器连接。例如:
代码语言:txt
复制
jest --inspect-brk

然后,打开Chrome浏览器,输入chrome://inspect,点击"Open dedicated DevTools for Node"链接,即可连接到调试器并进行调试。

  1. 使用VS Code进行调试:如果你使用VS Code作为开发工具,可以在.vscode/launch.json文件中配置Jest的调试器。在该文件中添加以下配置:
代码语言:txt
复制
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Jest",
      "type": "node",
      "request": "launch",
      "runtimeArgs": [
        "--inspect-brk",
        "${workspaceFolder}/node_modules/.bin/jest",
        "--runInBand"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    }
  ]
}

然后,在VS Code中按下F5键即可启动Jest的调试器。

  1. 使用--runInBand标志运行Jest:在运行Jest命令时,添加--runInBand标志可以强制Jest在单线程中运行测试,这样可以避免沙箱环境的限制。例如:
代码语言:txt
复制
jest --runInBand

这样,Jest将在当前进程中运行测试,可以直接使用调试器进行调试。

总结起来,解决运行Jest测试时无法附加调试器的方法有三种:使用--inspect-brk标志运行Jest、使用VS Code进行调试、使用--runInBand标志运行Jest。具体选择哪种方法取决于个人偏好和开发环境。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 集成测试 MockMvc 无法注入

    如果阅读过 使用 Junit 编写单元测试[1] 的小伙伴都知道,在写对 Controller 进行单元测试,会将 Service 层进行 Mock。...大概样子如下: 但是除了单元测试,还需要写集成测试,就是模拟全流程的请求。...集成测试同样使用的是 MockMvc,但是如果像单元测试一样加上 @WebMvcTest 就不太可以,因为 Service 代码没有 mock 掉,就会报错。...省略 } 注意: 需要添加 addFilters = false 否则可能会导致走 AntBuservice 过滤器,导致需要登录,从而集成测试失败 近期在开发中写单元测试比较多,并且在写单元测试也遇到不少问题...引用链接: [1] 使用 Junit 编写单元测试: https://mp.weixin.qq.com/s/HUhWUk01ICZ5ppwHhcc8ZA - -

    1.1K20

    【Windows 逆向】OD 调试器工具 ( OD 调试数据硬件断点对应的关键代码 | 删除硬件端点恢复运行 )

    文章目录 前言 一、OD 调试数据硬件断点对应的关键代码 二、删除硬件端点恢复运行 前言 在 【Windows 逆向】OD 调试器工具 ( CE 中获取子弹动态地址前置操作 | OD 中调试指定地址的数据...) 博客中介绍了如何在 OD 中调试指定地址 , 本篇博客中对相关操作进行指定 ; 一、OD 调试数据硬件断点对应的关键代码 ---- 在 数据面板 中 , 右键点击指定地址 , 选择 " 端点 /...硬件访问 / Dword " 选项 , 设置硬件断点 , 当有指令访问该地址 , 会进入断点 , 程序阻塞挂起 , 处于暂停状态 ; 访问该地址的 关键代码 是 阻塞位置 的上一行代码 , 如下图...地址的关键代码 是红色 矩形框 中的 mov eax, dword ptr [esi + CC] 代码 ; 阻塞代码的上一行代码 , 才是访问指定 断点 地址 的关键代码 ; 二、删除硬件端点恢复运行

    78510

    EasyNVR在官网运行测试录像播放失败是什么原因?

    我们在官网对EasyNVR运行进行了测试,发现本次测试中录像播放不出来,查看返回的录像地址发现路径拼接错误: 于是查找了对应接口,发现路径是在mediaserver/tsingsee.ini中配置的:...image.png 经过测试后发现,当路径配置为相对路径返回的数据是正确的,但是为绝对路径就会出错。...是因为官网配置文件里的绝对路径后面多了一个斜杠,虽然直接删除斜杠就能返回正确的路径数据,但是在实际给用户使用时不知道用户自己配置会不会加上斜杠,所以需要在代码里做兼容处理,直接使用strings.TrimRight去除后面的斜杠: 修改后运行测试录像路径返回正常

    86510

    WebStorm for Mac(JavaScript开发工具)中文版

    WebStorm 新版对JavaScript,TypeScript和CSS支持更好,改进了Vue.js的体验,并为Jest集成增加了新功能。...突出显示测试中的失败行当您使用Jest,Karma,Mocha或Protractor运行测试并且某些测试失败,您现在可以在编辑器中看到问题发生的位置。...在悬停,您将看到来自测试运行器的错误消息,您可以立即开始调试测试。使用Cucumber和TypeScript进行测试使用Cucumber和TypeScript?...新的调试器控制台在JavaScript和Node.js调试工具窗口中使用新的,改进的交互式调试器控制台!...支持Docker Compose如果使用Docker测试Node.js应用程序,现在可以使用Docker Compose文件中描述的配置从IDE 轻松运行和调试应用程序。

    4.9K50

    React 组件测试技巧

    React 组件的常见测试模式。 注意: 此页面假设你正在使用 Jest 作为测试运行器。如果你使用不同的测试运行器,你可能需要调整 API,但整体的解决方案是相同的。...--- 创建/清理 {#setup--teardown} 对于每个测试,我们通常希望将 React 树渲染给附加到 document的 DOM 元素。这点很重要,以便它可以接收 DOM 事件。...当测试结束,我们需要"清理"并从 document 中卸载树。...使用“假”数据 mock 数据获取可以防止由于后端不可用而导致的测试不稳定,并使它们运行得更快。注意:你可能仍然希望使用一个"端到端"的框架来运行测试子集,该框架可显示整个应用程序是否一起工作。...--- 多渲染器 {#multiple-renderers} 在极少数情况下,你可能正在使用多个渲染器的组件上运行测试

    4.9K00

    在 vue-test-utils 中 mock 全局对象

    mocks 加载选项 mocks 加载选项 是一种将任何属性附加到 Vue.prototype 上的方式。...(译注:通过这种方式就不能在单元测试中耦合与特定语言相关的内容了,因为翻译功能实际上已失效,也更无法处理可选参数等) 使用配置设置默认的 mocks 有时需要一个 mock 的默认值,这样就不用为每个测试用例都设置一遍了...,所以我将把默认 mock 描述在 jest.init.js 文件中 -- 该文件会在测试运行前被自动加载。...再次运行测试,这次移除了 mocks 加载选项并用 console.log 打印了 wrapper.html()。... (译注:依然无法应付复杂的翻译) 总结 本文论述了: 在测试用例中使用 mocks 以 mock 一个全局对象 用 config.mocks 设置默认的 mock

    1.6K10

    编程技巧 --- VS远程调试

    设置远程调试器[1],这是最重要的一环,远程调试器是跟随 Visula Studio 安装一同安装的,若要远程调试的计算机安装了 Visula Studio, 可以直接找到他启动,若要远程的调试的计算机是纯净环境...将生成的生成Debug文件夹,拷贝或发布到需要远程的计算机或服务器上 设置远程调试器 上面说了,设置远程调试器,是最重要的一环,远程调试器是跟随 Visula Studio 安装一同安装的,若要远程调试的计算机安装了...Visual Studio 的附加进程功能允许开发人员将调试器附加运行中的外部进程,以便在不中断程序执行的情况下对其进行调试。...通过附加进程,可以监视外部进程的运行状态、查看变量和调用堆栈,以便诊断问题和进行性能优化。 这对于调试与应用程序交互的其他进程或第三方组件非常有用。...附加进程功能可以帮助我们更全面地了解应用程序在运行时的行为,从而快速解决问题并改进代码。 那么,现在启动远程计算机或服务器的测试程序。

    13610
    领券