jsdom 相关问题

为node.js实施WHATWG DOM和HTML标准(以及其他)

Vitest 配置未检测到 jsdom 环境

我在 Vite/React/TypeScript 应用程序中,正在使用 Vitest 配置我的第一个测试。 当我运行 Button 测试 (yarn vitest) 时,出现以下错误: 包/前端/src/组件/通用/按钮/...

回答 1 投票 0

使用测试库中的“屏幕”时,如何在单个文件中并行运行测试?

我正在使用带有 jsdom 和 Vitest 的 React 测试库。我正在尝试在一个文件中运行多个单元测试,但屏幕变量似乎具有所有渲染调用的输出、所有测试的结果...

回答 1 投票 0

使用测试库中的“屏幕”时,如何在单个文件中并行运行测试?

我正在使用带有 jsdom 和 Vitest 的 React 测试库。我正在尝试在一个文件中运行多个单元测试,但屏幕变量似乎具有所有渲染调用的输出、所有测试的结果...

回答 1 投票 0

使用“testing-library”中的“screen”和“jsdom”时,如何并行运行测试?

我正在将react-testing-library与jsdom和vitest一起使用(通过环境使用jsdom)。我正在尝试在一个文件中运行多个单元测试,但屏幕变量似乎具有所有渲染的输出

回答 1 投票 0

模拟窗口对象会导致错误无法在 Window.get 历史记录中读取 null 属性(读取“_history”)[作为历史记录]

我有一个 Vue 组件,我正在尝试对其进行单元测试,其方法如下: 常量关闭 = () => { (window.open('', '_self').opener=window).close() } 我的测试如下所示: 导入 {

回答 1 投票 0

升级 Jest 后出现“ReferenceError:TextEncoder 未定义”

我目前正在弹出一个相当大的 create-react-app 项目。在我这样做的同时,我还将 Jest 的版本从 ~27 更新到 ~29。 v28 中有一个重大变化,需要......

回答 1 投票 0

在 Svelte 中介绍动画结束时触发的单元测试代码

我创建了一个 Svelte 组件,它可以快速显示然后消失,只是为了传达该操作已发生以及该操作触及了多少记录。 成分非常

回答 1 投票 0

react 18 中的笑话测试失败,因为使用 createRoot 无法在react-dom 中找到 testid

使用 React 18 并希望使用 29.5.0 版本编写笑话测试。运行我的玩笑测试 TestingLibraryElementError 时出现此错误:无法通过以下方式找到元素:[data-testid="/te...

回答 1 投票 0

使用 jest 时如何设置 jsdom

我正在尝试从 AVA 迁移到 Jest。在AVA中,您可以设置ava.setup,在其中设置jsdom环境。例如,创建 DOM 结构并进行必要的填充 (localStorage)。 哈...

回答 2 投票 0

JSDOM 中设置的 document.body.innerHTML 被实现忽略

这是我的TS代码: 导出类 MyClass { 私有 myElement: HTMLElement; 构造函数(){ this.myElement = document.getElementById("ID") as HTMLElement; if (!this.myElement) ...

回答 1 投票 0

当我有角度(1.6)作为依赖项时,无法使用摩卡测试某些内容

我想测试一个 ng-redux 减速器,它具有角度(1.6)作为依赖项。 当我使用 mocha 运行测试(npm test)时,我得到: /data/work/mocha-angularjs/node_modules/angular/angular.js:33343 })(风...

回答 1 投票 0

JSDOM 返回一个空元素

这是片段 让thtml =“” jsdom.env({ html: thtml , 完成:功能...

回答 1 投票 0

JSDOM 支持媒体查询吗?

我知道 JSDOM 并没有实现真正浏览器的许多功能,但我读过很多关于它到底支持什么和不支持 CSS 的相互冲突的信息。 ...

回答 1 投票 0

如何使用saxonjs和nodejs获取xml文件中的变量

我有一个xml文件: 描述 我有一个 xml 文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE agent SYSTEM "http://www.someUrl.com"> <myData> <service> <description>Description</description> </service> <courier> <listener port="55556" /> <mainService name="Some Name" port="55555" /> </courier> </myData> 我想使用nodejs获取监听器端口变量的值。 根据 SaxonJs 的文档 SaxonJS.XPath.evaluate 是我需要的方法。它需要一个查询和一个文档节点对象。当我将 xml 文件转换为 dom 对象时,我收到错误消息:“Uncaught TypeError TypeError:无法读取未定义的属性(读取“长度”)” const saxonJs = require('saxon-js'); const fs = require('node:fs'); const jsdom = require("jsdom"); var xmlFile = fs.readFileSync(xmlFilePath, 'utf8'); var doc = new jsdom.JSDOM(xml); var xpathQuery = '//listener/@port'; var result = saxonJs.XPath.evaluate(xpathQuery, doc); 您是否特别需要使用XPath?由于您有 JSDOM,我只需使用 CSS 选择器进行查询: import {JSDOM} from "jsdom"; // ^24.0.0 const xml = `<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE agent SYSTEM "http://www.someUrl.com"> <myData> <service> <description>Description</description> </service> <courier> <listener port="55556" /> <mainService name="Some Name" port="55555" /> </courier> </myData>`; const dom = new JSDOM(xml, {contentType: "application/xml"}); const {document} = dom.window; const port = document.querySelector("listener").getAttribute("port"); console.log(port); // => 55556 如果您确实想使用 XPath,可以在 JSDOM 中执行(请注意 [@port] 更改为按 listener 元素上的属性进行选择): const port = document .evaluate( "//listener[@port]", document, null, 9, // FIRST_ORDERED_NODE_TYPE ) .singleNodeValue .getAttribute("port"); 或直接选择属性字符串值: const port = document .evaluate( "//listener/@port", document, null, 2, // STRING_TYPE ) .stringValue; 在撰写本文时,JSDOM 每周下载量为 22,000,000 次,而 saxon-js 为 20,000 次。如果可能的话,我会避免对 saxon-js 的依赖。

回答 1 投票 0

起源问题不允许我将 localStorage 与 JSDOM 一起使用

所以我尝试使用 JSDOM 在节点环境中加载网页。该网页使用本地存储。 我使用 JSDOM 的 url 配置选项通过文件系统加载网页。 JSDOM 给了我...

回答 1 投票 0

任何其他获取 svg 的边界矩形值的方法

我有必须在 JSDOM 内处理的 SVG 元素,并且需要获取它们的 getBBox() 值。 使用 getBBox() 时,由于 JSDOM 内没有执行绘制,因此值不是 obta...

回答 1 投票 0

在 AdonisJS 中使用 DOM 和 Playwright 来生成 PDF

我正在寻求有关在 AdonisJS 中针对特定用例使用 DOM 的指导。 据我了解,AdonisJS 主要是为服务器端开发而设计的,可能不会自动包含 TypeScr...

回答 1 投票 0

vitest react-testing-library:如何测试xlsx文件上传和处理?

我有一个React组件,用户可以在其中选择一个xlsx文件并解析它并在表格中显示数据。 我想为其创建一个简单的端到端测试: 上传已知的 xlsx 文件...

回答 1 投票 0

错误“文档”未定义:eslint / React

我正在使用 create-react-app 构建一个 React 应用程序。 运行 ESLint 时出现以下错误: 8:3 错误 '文档' 未定义 no-undef。 我的应用程序运行没有错误,但我得到了这个 ESLint e...

回答 5 投票 0

使用 vitest 时如何重置 jsdom 实例以测试基于历史记录的路由器?

我想使用 vitest 对基于 svelte + page.js 的路由器进行一些集成测试,但我遇到了一个问题,即 jsdom 实例每个测试文件只能正确更新一次。 在

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.