Jest 无法使用 fs/promises 打字稿

2023-12-19

我正在尝试将 jest 添加到我的打字稿项目中进行测试,但是当我运行 jest 时,它一直给我错误

  ● Test suite failed to run

Cannot find module 'fs/promises' from 'src/path/to/file'

    Require stack:
      src/path/to/file
      test/test.ts

    > 3 | import fsp from 'fs/promises';

      at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:311:11)
      at Object.<anonymous> (src/path/to/file.ts:3:1)

程序本身运行良好,但每当我尝试在其上运行 jest 时,都会遇到此问题。我尝试过添加jest.mock('fs');,这没有帮助,并添加jest.mock('fs/promises');在测试文件中给出相同的错误。

我读到某些版本的 Node 不支持'fs/promises'而需要require('fs').promises,我已经尝试过了,但仍然不起作用(我使用的是 Node 版本 12)。

如何配置 jest 才能加载'fs/promises'?我已经包括了我的jest.config.js文件如下:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  testPathIgnorePatterns: [
    '/node_modules/',
    '/out/',
  ],
  moduleDirectories: [
    '.',
    'node_modules'
  ],
  moduleFileExtensions: [
    'ts',
    'tsx',
    'js',
    'jsx'
  ]
}

原来 Jest 正在翻译'fs/promises'作为文件系统中的文件夹,这是不正确的,因为这是来自 fs 模块的 API。要解决此问题,只需添加

moduleNameMapper: {
  "fs/promises": "<rootDir>/node_modules/fs-extra/lib/fs"
}

to jest.config.js告诉 Jest 映射模块'fs/promises'到文件<rootDir>/node_modules/fs-extra/lib/fs,或文件系统中定义 fs 模块的任何位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jest 无法使用 fs/promises 打字稿 的相关文章

  • 具有独立 Node.js 服务器的虚拟主机

    目前有没有一种方法可以使用node js服务器进行虚拟托管 即在一个IP下托管多个域 当然 你可以使用bouncy https github com substack bouncy or 节点 http 代理 https github co
  • Angular2:setTimeout仅调用一次

    我正在 Angular2 中实现需要使用的功能setTimeout My code public ngAfterViewInit void this authenticate loop private authenticate loop s
  • Redis 客户端忽略其上设置的配置选项并尝试连接到默认 IP 127.0.01

    在AWS中 我使用ElastiCache Redis服务器并使用节点作为后端和 promise redis 包 这就是我尝试连接到我的 redis 服务器端点的方法 client redis createClient host my red
  • Angular2 + Laravel 与实时和 WebSockets

    我构建了一个应用程序 并计划与 Angular 2 和 laravel 进行实时战斗 例如 你按下 攻击 按钮 你的对手就会实时看到他的生命在下降 我的应用程序构建有 前端 角2 Backend PHP Laravel 5 2 现在我正在寻
  • 如何将 zingchart 实现到 Angular2 中

    我有一个现有的项目 我想在其上实施 zingcharts 我尝试了 3 个不同的教程 主要来自 https blog zingchart com 2016 07 19 zingchart and angular 2 charts back
  • Typescript 找不到模块

    我在 Typescript 的一个文件 upload ts 中有一个导出的模块 我无法在没有错误的情况下导入到另一个文件 application ts 中 另外 我无法导入 ExpressJS 这是Upload ts
  • 节点:使用 Nodemailer 的直通流

    我正在使用officegen 生成一个Word 文档 然后计划使用Nodemailer 和Sendgrid 将其附加到电子邮件中 Officegen 输出一个流 但我更愿意将其直接传递到附件 而不是在本地保存 Word 文档然后附加它 Ge
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • Mongodb更新很多

    我正在使用express js 和 npm 模块 mongodb 进行开发 并以 mongodb 作为数据库 我有两个集合 即 用户 和 活动 一个用户可能有数千个活动 首先 我将用户的 id 姓名和图片 url 存储到 关系的活动文件 请
  • 在 Angular 6 服务中获取当前路由参数的最佳方法是什么?

    我试图找出在 Angular 6 中获取当前路由参数的最佳方法是什么 目前我必须通过ActivatedRoute到服务的方法作为参数 然后在服务中使用它 export class MainComponent constructor priv
  • express 或express-generator:我需要两者吗?

    只是探索 Node js 并遇到了 Express 在 npm 存储库站点上https www npmjs com package express https www npmjs com package express它明确指出安装是 np
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • 重写规则,以便正确加载具有绝对路径的 css 和 js 文件

    我花了两个小时 但我无法弄清楚 我不知道如何谷歌解决方案 这是我在 htaccess 文件中的重写规则 RewriteCond REQUEST URI blog RewriteRule blog http localhost 2368 1
  • 如何将 Gulp 添加到我的项目中?

    我正在使用 Windows 7 Visual Studio 2013 我正在尝试在我的客户项目中设置 Gulp 我已将这些 Nuget 添加到项目中 Node js 版本 0 12 0 Npm js 版本 1 3 15 10 由于某种原因我
  • 将 Backbone 结构转换为 TypeScript

    看看 Backbonejs 的实现扩展功能 http backbonejs org docs backbone html section 186 它表明它不是一个基本的原型扩展 当主干扩展直接转换为 TypeScript 类时 有些东西会停
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • 带有 npm 启动脚本的 Nodejs 应用程序

    我对nodejs很陌生 在我的docker化环境中 我想为nodejs应用程序提供appdynamics支持 这要求每个应用程序都要求将以下内容作为其应用程序的第一行 require appdynamics profile controll
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht

随机推荐

  • 将 svelte 应用程序构建为一组静态文件

    我想在我的下一个项目中使用 Svelte 因为它的语法简洁并且使用起来非常愉快 不幸的是 要在我的公司部署该应用程序 我无法使用node或服务器上类似的东西 我只能从以下位置提供应用程序nginx作为静态文件 苗条有可能吗 我找不到任何可以
  • 即使套接字是非阻塞的,Perl 上的 recv 也会阻塞

    我在守护进程中用 perl 创建了一个像这样的套接字 IO Socket INET gt new LocalPort gt port Proto gt udp Blocking gt 0 or die socket 在 Linux 机器上
  • 如何在启动时检查麦克风访问情况?

    在我的应用程序中 我将使用麦克风进行一些录音 从iOS7 0开始 用户在开始音频之前会被要求检查访问麦克风的权限 我的应用程序中有一个 开始录制 按钮 这里它首先检查用户的录音权限 这是执行此操作的代码 if AVAudioSession
  • 获取文档后从 Firestore 获取文档 ID

    成功获取文档后如何获取 firestore 文档的文档 id 我正在从这样的 firestore 集合中获取用户数据 const ref await db collection users where phone phone where p
  • 从 Android 模拟器中删除密码?

    如何摆脱 摆脱Android模拟器中的 输入密码解锁 提示 希望我能解释一下这是如何打开的 但这可能是我的错 我一直在尝试使用 android maven 插件为自定义内核构建应用程序 以构建自定义设备管理应用程序 我记得在模拟器中找到了一
  • 解压文件跳过文件夹

    我正在创建一个 php 文件 该文件将从 BitBucket Git 存储库 中拉出后更新我的网站 它下载整个主文件或提交的 zip 文件 然后将其解压缩到网站的文件夹中 我遇到的问题是有一个随机命名的文件夹 其中包含 zip 文件中的所有
  • 解决方案的 NuGet 包还原失败(仅在命令行上)

    我最近切换到 NuGet 最新推荐的方法 该方法为项目使用 packages json 文件 dependencies Newtonsoft Json 9 0 1 RestSharpSigned 105 2 3 frameworks net
  • IE 中的 SVG 动画笔划-dashoffset - 笔划宽度为 0

    我正在尝试使用 SVG 制作圆形填充动画 它在 Chrome FF Safari 中工作得很好 但在 IE 中动画不会发生 我正在使用 jQuery animate 不是 css 动画 IE 11 及以下版本不支持 SVG 简化的动画代码
  • 当应用程序进入后台时如何继续运行 NSTimer

    我正在创建益智游戏应用程序 并使用 NSTimer 显示时间 即 01 20 当应用程序进入后台时 NSTimer 会暂停 但即使应用程序处于后台状态 我也想继续它 例如当应用程序进入后台时 计时器计数为 15 秒 and I 放置5秒现在
  • 如何在Python中格式化浮点数? [复制]

    这个问题在这里已经有答案了 我想将浮点数格式化为小数点后两位 gt gt gt x 5 0 gt gt gt y float 0 2f format x gt gt gt y 5 0 我希望我的输出采用这种格式 5 00 对于较新版本的 p
  • 什么时候*不*使用准备好的语句?

    我正在重新设计一个使用最小数据库的 PHP 驱动的网站 原始版本使用 伪准备语句 进行引用和参数替换的 PHP 函数 来防止注入攻击并将数据库逻辑与页面逻辑分开 用使用 PDO 和真正准备好的语句的对象替换这些临时函数似乎很自然 但在阅读它
  • Android Beep 或 Light 没有通知对象?

    有没有办法在没有通知实例的情况下启动蜂鸣声 是的 蜂鸣声 或打开设备的灯 有了通知就很简单 如下所示 http developer android com guide topics ui notifiers notifications ht
  • Ruby 1.9 与 Rails 2.3 兼容吗?

    ruby 1 9 可以与rails 2 3 一起使用吗 我知道 Rails 2 3 5 可以与 ruby 1 9 1 一起运行 但是 您需要仔细检查要与 ruby 1 9 一起使用的任何 gem 或插件 看看它们是否有效
  • keras 中一维卷积网络的输入维度

    确实很难理解卷积 1d 的输入维度layer http keras io layers convolutional convolution1d在喀拉斯 输入形状 具有形状的 3D 张量 样本 步长 input dim 输出形状 形状为 sa
  • Woocommerce 更新结帐 ajax

    由于我对 1 个产品使用 onepager 因此当我将产品添加到购物车时 我想利用 wordpress ajax 来更新现场结账 产品添加到购物车按钮已经是ajax了 我已经尝试过 body trigger update checkout
  • 在 R 中使用 ggplot 绘制谷歌地图

    我正在尝试绘制使用 RgoogleMaps 包查询并将其与 ggplot 结合起来 最后 我想显示使用的总人口geom point 有点类似于下图 但由于过度绘制 我试图将注意力集中在蒙哥马利地区 我很沮丧 因为我无法在 R 中绘制查询的地
  • 如何在SQL Server 2008中部署CLR功能

    我在 VS2008 中创建了一个名为 RegularExpression 的 SQL Server 项目 在该项目中 我创建了一个 Regex cs 类 并编写了一个有关正则表达式的函数 然后我构建解决方案 现在我的问题是通过脚本在SQL
  • 为什么 expat 拒绝短划线字符作为无效字符?

    在我的 XML 输入文件中 有以下行
  • 在 x86 汇编中,ESP 是否在调用后递减两次,然后在数据保存到堆栈之前压入?

    长话短说 我正在学习 Singh 和 Triebel 写的一本名为 8088 和 8086 微处理器 的书 以学习old那些特定CPU的汇编 现在 我练习的计算机是我最近组装的主计算机 因此寄存器更大 也就是说 这本书 我发现这非常有帮助
  • Jest 无法使用 fs/promises 打字稿

    我正在尝试将 jest 添加到我的打字稿项目中进行测试 但是当我运行 jest 时 它一直给我错误 Test suite failed to run Cannot find module fs promises from src path