Jest 测试中的“requestAnimationFrame”polyfill 错误

2023-12-30

升级到 React 后运行 Jest 单元测试时出现此错误:

React depends on requestAnimationFrame. Make sure that you load a polyfill in older browsers.

我如何解决它?

我正在使用 Jest 18.1.0。


找到了解决方法!

Steps:

  1. 创建文件__mocks__/react.js(参见关于__mocks__文件夹在这里 https://jestjs.io/docs/manual-mocks)
  2. 将以下内容添加到__mocks__/react.js
const react = require('react');
// Resolution for requestAnimationFrame not supported in jest error :
// https://github.com/facebook/react/issues/9102#issuecomment-283873039
global.window = global;
window.addEventListener = () => {};
window.requestAnimationFrame = () => {
  throw new Error('requestAnimationFrame is not supported in Node');
};

module.exports = react;
  1. 运行笑话!

正如代码注释中所标记的

这是来自的解决方案https://github.com/facebook/react/issues/9102#issuecomment-283873039 https://github.com/facebook/react/issues/9102#issuecomment-283873039

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

Jest 测试中的“requestAnimationFrame”polyfill 错误 的相关文章

随机推荐

  • 在Java-Android中设置链接可点击

    我正在设计一个应用程序 其中有 TextView 并且基于某些检查条件 我想使 TextView 中的链接 电话号码在 Java 端可点击 我可以这样做吗 我不想让它默认可点击 这是通过在 xml 文件中设置来完成的 android aut
  • InternetOpenUrl 仅在下载整个 HTTP 响应后返回

    我正在使用 WinINET 编写一个下载文件实用程序 并且注意到 特别是在大型下载时 WinINETInternetOpenUrl 调用仅在整个 HTTP 响应下载完毕后返回 我通过使用 Charles 代理工具以及 WireShark 确
  • 如何在没有过滤器列表的情况下使用 Locale::acceptFromHttp?

    locale accept from http是 ICU API 的基本包装uloc acceptLanguageFromHTTP http eckhart stderr org doc icu doc html uloc 8h html
  • Internet Explorer 8 中生成内容的文本对齐

    我正在调试这个网站 http www cityofsleep com并尝试解决 Internet Explorer 中出现的一些问题 大惊喜 我正在为几个链接添加副标题 如下所示 subtitle a after content The S
  • Java 11 上出现 DateTimeParseException 但适用于 Java 10

    以下测试用例在 Java 10 下完美运行 import java time Instant import java time format DateTimeFormatter import java time format DateTim
  • 如何从 Plexus 组件获取当前 MavenSession 或 MavenExecutionRequest

    我创建了一个 Plexus 组件来容纳我想要创建的几个 Mojo 的通用逻辑 我已经能够传递信息 例如localRepository和来自 Mojo 的项目 和测试用例 我想知道是否有办法获得MavenSession or MavenExe
  • 计算符合条件的数组元素个数

    我有一个名为 conference 的 mongoDB 集合 其参与者如下 id 5b894357a0c84d5a5d221f25 conferenceName myFirstConference startDate 1535722327
  • 提取括号内字符串的内容

    我有以下字符串 string Will Ferrell Nick Halsey Rebecca Hall Samantha Michael Pena Frank Garcia 我想以以下形式创建一个元组列表 actor name chara
  • AWS:专用主机VS专用实例,为什么前者比后者贵?

    我正在准备 AWS 的助理架构师考试 但找不到这个问题的解释 为什么专用主机比专用实例贵 我理解两者之间的主要区别 只是在我的大脑中它没有意义 这是我的观点 如果你要求一个专用主 机 你就可以控制整个硬件 CPU RAM 插槽等 您可以使用
  • 微服务架构:跨服务数据共享

    考虑在线商店项目的以下微服务 用户服务保留有关商店用户的帐户数据 包括名字 姓氏 电子邮件地址等 购买服务跟踪有关用户购买的详细信息 每个服务都提供一个用于查看和管理其相关实体的 UI 购买服务索引页面列出了购买情况 每个采购项目应具有以下
  • 如何在 .cargo/config 文件中使用环境变量?

    我在用着 cargo config像这样 target arm linux androideabi linker home rico android ndk r13b toolchains arm linux androideabi 4 9
  • iframe加载后如何隐藏父垂直滚动条?

    我已附上演示该问题的示例代码 我正在 Firefox 3 5 7 中检查这一点 问题是父级 HTML 有一个滚动条 并且它加载一个全屏的 iframe 高度 100 宽度 100 我希望在加载 iframe 后删除父级滚动条 1 这可以吗
  • 在 TypeScript 中迭代接口属性

    我需要将接口属性映射到对象 interface Activity id string title string body string json Object 我目前正在做 headers Array text id value id te
  • ASP.NET MVC2 中的正确错误处理

    我在基本控制器中有一个覆盖 OnException ExceptionContext filterContext 来捕获应用程序中的任何错误 然后记录它们 我在应用程序中遇到的问题是 此特定方法因某些错误而被触发四次 我将引导您完成一个场景
  • 使用多个模型获取进行主干视图渲染

    我需要在带有主干的 html 模板中使用 1 个模型和 1 个集合 但有时 html是在模型之后准备好的 我有 var FormUtilisateurView Backbone View extend initialize function
  • 嵌套集合、php 数组和转换

    我需要将我的嵌套集结构 mysql 转换为这个空间树的json 1 http blog thejit org wp content jit 1 0a examples spacetree html http blog thejit org
  • 从后台线程更新 BindingList<>?

    我想知道如何使用 WPF 中的 Dispatcher 从另一个线程安全地更新我的 BindingList 集合 我也愿意接受其他解决方案 非常感谢 卡韦 我更喜欢安排一个Task到 UI 线程 您可以通过调用获取 UI 线程调度程序Task
  • SpecFlow:ClassInitialize 和 TestContext

    首先 我是 SpecFlow 的新手 我有一个功能文件 我已经 想要使用 MSTest 自动运行它作为功能测试 涉及完全设置的服务器 数据访问 为此 我必须使用 SpecFlow 的 Given 块中的数据配置服务器 然后启动它 我还必须将
  • 是否可以强制 Hibernate 嵌入实体?

    在我的用例中 我想 Embedded一类C在一个实体中 另一个实体指的是C with OneToMany协会 因此C注释为 Entity 我知道这似乎是糟糕的设计 但我相信这对我的情况来说非常有意义 是否可以强制 Hibernate 嵌入实
  • Jest 测试中的“requestAnimationFrame”polyfill 错误

    升级到 React 后运行 Jest 单元测试时出现此错误 React depends on requestAnimationFrame Make sure that you load a polyfill in older browser