在 React 中测试 mapbox-gl 时如何修复“window.URL.createObjectURL 不是函数”?

2024-03-21

我正在使用 Mapbox、material-ui 和自定义样式测试 React 组件。我使用 Jest + Enzyme 进行测试。

我有问题:“window.URL.createObjectURL 不是函数”。我读过类似的问题:github.com/uber/react-map-gl/issues/210 https://github.com/uber/react-map-gl/issues/210
github.com/mapbox/mapbox-gl-js/issues/3436 https://github.com/mapbox/mapbox-gl-js/issues/3436
github.com/mapbox/mapbox-gl-js-mock https://github.com/mapbox/mapbox-gl-js-mock

并试图添加一些东西但没有成功。请解决这个问题。

代码沙盒 https://codesandbox.io/s/react-enzyme-mapbox-test-qobf0


我的笑话测试套件也遇到了完全相同的问题。经过一番尝试和搜索,我能够嘲笑createObjectURL method.

In jest.stub.js文件,我放置了这个配置:

if (typeof window.URL.createObjectURL === 'undefined') {
  window.URL.createObjectURL = () => {
    // Do nothing
    // Mock this function for mapbox-gl to work
  };
}

然后,在jest.config.js文件中,我添加了对存根文件的引用

  setupFiles: [
    '<rootDir>/tests/jest.stub.js',
  ],

注意:确保您在安装文件定义中获得正确的路径。

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

在 React 中测试 mapbox-gl 时如何修复“window.URL.createObjectURL 不是函数”? 的相关文章

  • 重新渲染次数过多。 React 限制渲染数量以防止无限循环。下一个js错误

    有人可以解决这个问题吗 如果我删除 about 和 is 之前的 它不会抛出错误 smh import Navbar from components Navbar import Footer from components Footer i
  • 如何像 urllib 这样的模拟/存根 python 模块

    我需要测试一个需要使用 urllib urlopen 它也使用 urllib urlencode 查询外部服务器上的页面的函数 服务器可能宕机 页面可能发生变化 我不能依赖它进行测试 控制 urllib urlopen 返回内容的最佳方法是
  • Redux Toolkit RTK Query 发送查询参数

    如何使用 Redux Toolkit RTK 查询将查询参数传递到 api import createApi fetchBaseQuery from reduxjs toolkit query react const baseUrl xxx
  • React 测试库:测试属性/prop

    我正在使用 TypeScript 编写一个 React 应用程序 我使用material ui作为我的组件 使用react testing library作为我的单元测试 我正在为 Material ui 的 Grid 组件编写一个包装器
  • log4net 是否会杀死我的 WCF 单元测试?

    我的解决方案中有三个项目 提供我想要测试的功能的 WCF Web 服务 调用该 Web 服务的 Web 应用程序 对服务运行测试的测试项目 Web 服务和 Web 应用程序都使用 log4net 和单独的配置文件 并在 AssemblyIn
  • 如何测试方法参数是否用属性修饰?

    这可能是重复的 但我找不到我要找的问题 所以我问它 如何测试方法参数是否用属性修饰 例如 以下 MVC 操作方法 使用 FluentValidationCustomizeValidatorAttribute HttpPost OutputC
  • VS2012 单元测试:如何更改 TestResults 文件夹的位置

    我将所有单元测试项目都放在解决方案文件夹下的一个文件夹中 并且希望将 TestResults 文件夹放在与测试项目相同的文件夹中 而不是放在解决方案目录中 我发现这可以通过测试设置文件来完成 如何在VS 2010中指定单元测试结果的位置 h
  • JUnit 测试 Spymemcached 客户端

    我有一个类围绕spymemcached 客户端 我想编写一些JUnit 测试来测试getValue 和addKey 方法是否有效 问题是无法从测试服务器访问spymemcached 服务器 所以我想这里需要一些模拟 我的简化类看起来像这样
  • 反应光滑的幻灯片高度问题

    我无法让这些 React Slick 滑块组件达到相同的高度 它们都是响应式 div 并随着页面大小的变化相应地调整大小 但理想情况下 我希望左侧的 div 与右侧的 div 具有相同的高度 我使用下面的代码片段定义了 SimpleSlid
  • React Redux 在 Modal 中的使用

    我正在 React 中学习 Redux 我在 React 中使用 Redux 进行 Modal 开发 我的代码如下 render return
  • 具有活动样式的 React router 无法按照我对根 URL 的要求工作

    我在主菜单中使用了这个 NavLinks 问题是当 测试 汽车 链接被点击 Test 链接也正在应用样式 我相信这是因为 Test 假设是其他链接的根 所以这是有道理的 但我想要 Test 应用活动样式时 链接也可以像其他链接一样工作 所以
  • 如何在react-styleguidist中添加具有依赖项的示例组件

    我想记录一个ButtonGroup组件渲染Button其中使用 react styleguidist 的组件 我有一个 styleguidist webpack 配置 如下所示 module exports module rules tes
  • 应该如何在 Ant Design Upload 组件中设置 customRequest 以使用 XMLHttpRequest?

    我的组件一团糟 现在我传递了一个函数 我已经尝试了一百万件事但无法让它工作 export default class DatafileUpload extends Component initialState fileUploading f
  • 在 Windows 应用商店应用程序中进行模拟

    我可能不是第一个出于测试目的而在 Windows 商店应用程序中处理模拟的人 我想测试我的 ViewModel 并使用一些模拟框架来模拟它们 当然 所有可用的 通用 框架都不能在 Windows 应用商店应用程序项目中使用 我有一个想法如何
  • 如何模拟嵌套函数?

    我想模拟特定函数中的一些嵌套函数 tools py def cpu count def get cpu quota return int load sys fs cgroup cpu cpu cfs quota us def get cpu
  • create-react-app 中的 public/manifest.json 文件是什么?

    我知道 chrome 扩展使用 manifest json 但在这里 它也被用作其他东西 内容 short name React App name Create React App Sample icons src favicon ico
  • React Native 中的 Java 单例相当于什么?

    实际上我是一名 Android 原生开发者 我是 React Native 的新手 在Java中 我将用户数据和其他数据保存在单例类中 并从其他活动进行访问 然后我如何在 React Native 中实现这个过程 以便从其他组件或 Reac
  • React 中大括号的使用

    我正在尝试学习 React 我在使用花括号时遇到问题 JSX 和 JS 之间使用大括号的区别 在下面的代码中 大括号 1 表示 现在是 JS 为什么有花括号 2 它已经在花括号区域内了吗 var React require react va
  • useSelector 常量在调度后不更新

    这里有一个代码沙盒 https codesandbox io s competent moon 9ehen getIDs 更新cells 然后需要initializeCells 但是 此更改在分派操作后不会反映出来 尽管如此 我还是可以看到
  • 如何在create-react-app中为index.html指定Cache-Control标头

    我正在尝试遵循 create react app dev 的指导生产构建文档 https create react app dev docs production build static file caching 为了向用户提供最佳性能

随机推荐