jsdom相关内容

在测试期间无法访问组件中的DOM元素(在浏览器中工作)

背景 我有一个组件,我在其中访问一个元素的子元素(使用ref)。目标是截取输入字段中的粘贴事件,并将粘贴的内容拆分并分布在几个不受控制的表单输入元素上。在浏览器(使用Storybook)中呈现组件时,这一切都工作得很好。 问题 但是,在测试中,我无法以任何我尝试的方式访问子对象。 问题 我如何使用fireEvent或如何设置测试是否有问题? 我是新手,我是否应该以其 ..
发布时间:2022-09-04 13:21:17 其他开发

我想从 Cakefile 运行 d3

我想从命令行执行一些 d3 代码.最初我只是尝试了类似的东西: task 'data', 'Build some data with d3', ->d3 = 要求('lib/d3.v2')console.log "d3 版本 = "+ d3.version 但这没有用.我遇到了这样的错误: node.js:201扔 e;//process.nextTick 错误,或第一次滴答时的 'erro ..
发布时间:2022-01-24 10:52:18 前端开发

如何用 Jest 测试 Web 组件(lit-element)

有没有人有一个很好的设置来测试带有 jest、jsdom 或类似内容的自定义元素?我一直在使用 Puppeteer 和 Selenium,但它们使测试运行速度减慢太多.jsdom 的任何其他替代方案或修复程序可以使以下测试运行吗? import {LitElement} from 'lit-element';从 'lit-html' 导入 {html};导出类计数器扩展了 LitElement ..
发布时间:2022-01-01 23:45:31 其他开发

使用 jest 时如何设置 jsdom

我正在尝试从 AVA 迁移到 Jest.在AVA中可以设置ava.setup,在其中设置jsdom环境.例如,创建 DOM 结构并进行必要的 polyfills (localStorage). 我如何在 Jest 中实现这一点?目前,我在每个测试套件中都使用 beforeEach,但感觉这不是最好的解决方案. 提前致谢! 解决方案 好问题. Jest 实际上带有 jsdo ..
发布时间:2022-01-01 23:43:33 前端开发

由于 .getContext() 未实现,单元测试引发错误

我正在使用 Jest 为使用画布元素的组件编写测试.当我运行类似这样的测试时,我不断收到错误消息. 错误:未实现:HTMLCanvasElement.prototype.getContext(未安装canvas npm包) 据我所知,Jest 使用 jsdom 进行测试,如果您安装了 canvas 或 canvas-prebuilt 包,那么 jsdom 与 canvas 兼容. 我已经 ..
发布时间:2022-01-01 23:42:49 前端开发

如何使用 Jest 测试 asnyc 代码(或使用 jsdom 测试“image.onload")

[编辑]:我已经用承诺方式更改了我的代码. 我正在写与 this 由 facebook 创建的 starter 的反应,我是测试新手. 现在我有一个关于图像的组件,它有一个检查图像大小的功能: import React, { Component } from 'react';类 ImagePart 扩展组件 {.....//检查大小.checkSize(src, 宽度, 高度){th ..
发布时间:2022-01-01 23:23:38 前端开发

Jest 是否在每个套件或测试后重置 JSDOM 文档?

我正在测试一些组件,这些组件在挂载和卸载时会超出其 DOM 结构,以提供否则无法实现的特定交互功能. 我使用 Jest 和默认的 JSDOM 初始化在 node.js 中创建类似浏览器的环境.我在文档中找不到任何建议 Jest 在每次测试执行后重置 JSDOM 的内容,如果不是这种情况,也没有关于如何手动执行此操作的明确文档. 我的问题是,Jest 是在每次测试、套件之后重置 JSDO ..
发布时间:2022-01-01 23:08:43 其他开发

开玩笑地嘲笑“文档"

我正在尝试开玩笑地为我的 Web 组件项目编写测试.我已经在 es2015 预设中使用了 babel.我在加载 js 文件时遇到问题.我遵循了一段代码,其中 document 对象有一个 currentScript 对象.但在测试上下文中它是 null.所以我想嘲笑同样的.但是 jest.fn() 并没有真正的帮助.我该如何处理这个问题? jest 失败的一段代码. var current ..
发布时间:2022-01-01 22:47:11 其他开发

jsdom:dispatchEvent/addEventListener 似乎不起作用

总结: 我正在尝试测试在其 componentWillMount 中侦听本机 DOM 事件的 React 组件. 我发现 jsdom (@8.4.0) 在调度事件和添加事件侦听器方面没有按预期工作. 我能提取的最简单的代码: window.addEventListener('click', () => {抛出新错误(“成功")})const event = new Event( ..
发布时间:2021-12-15 12:11:13 前端开发

如何防止“属性'...'不存在于类型'全局'"?使用 jsdom 和打字稿?

我尝试将现有项目转换为使用 Typescript,但在我的测试设置中遇到了问题. 我有一个用于我的测试的设置文件,它设置了 jsdom,以便我的所有 DOM 交互代码在我的测试期间都可以工作.使用 Typescript (ts-node with mocha) 我总是得到这样的错误: “全局"类型上不存在属性“窗口". 为了防止这种情况,我尝试像这样修补 NodeJS.Global 接口 ..
发布时间:2021-09-11 20:28:31 其他开发

jsdom有哪些用例

阅读这篇微模板已死文章后.我开始好奇了: 与模板相比,在服务器上使用 DOM 是否会产生更清晰、更易于维护的代码. 使用 jsdom 是否比模板引擎更高效. 如何将 jsdom 纳入标准 MVC 设置的视图中. 一般在什么情况下最好使用服务器端 DOM 抽象,比如 jsdom而不是模板引擎,例如 EJS 或 玉. 该问题特定于 node.js 和其他 SSJS 解决方案 ..
发布时间:2021-09-04 20:46:16 前端开发

在 Windows 上 npm 安装 jsdom 错误?

我已经在我的 Windows 电脑上安装了 nodejs.它工作正常.但是当我尝试安装 jsdom 时“npm install jsdom"这个错误提示我. 节点“C:\ProgramFiles\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js"重建信息吧如果以 ok 结尾, ..
发布时间:2021-06-09 18:46:56 其他开发