写点什么

Vitest 引入浏览器模式作为 JSDOM 的替代方案

作者:Daniel Curtis

  • 2025-06-07
    北京
  • 本文字数:954 字

    阅读完需:约 3 分钟

大小:459.57K时长:02:36
Vitest引入浏览器模式作为JSDOM的替代方案

Vitest 是现代的原生测试运行器,它引入了 Vitest 浏览器模式,为开发人员提供了一个可替代传统 DOM 模拟库(如 JSDOM)的选择。将浏览器模式添加到 Vitest 中,允许测试在实际的浏览器环境中运行,为使用 React、Vue 或 Svelte 构建的 UI 应用程序提供了更真实、更可靠的测试行为。

 

Vitest 浏览器模式目前是实验性的。

 

引入 Vitest 浏览器模式是为了帮助提高测试的准确性和可靠性,它通过使用 Playwright 或 WebDriverIO 在真实的浏览器环境中运行测试来实现这一点。这种模式允许真实的浏览器渲染和交互。

 

历史上,JSDOM一直是在 Node.js 中运行前端测试的默认模拟环境。它在 Node 中模拟浏览器 DOM,使其成为单元测试的便捷且快速选项。然而,由于 JSDOM 不是一个真正的浏览器,它的实现有时无法满足高级用例,例如布局计算、CSS 行为或 JSDOM 中尚未支持的 API。Vitest 的目标是提供一个简单的迁移路径来取代 JSDOM 环境。

 

React Testing Library是一个用于测试 React 组件的轻量级库,构建在 DOM Testing Library 之上,后者提供了与 DOM 交互的实用程序。长期以来,它一直依赖 JSDOM 来模拟 DOM 交互。随着 Vitest 浏览器模式的引入,有可能从 React Testing Library 上迁移走,因为许多 API 被原生重写了,重写采用了与 React Testing Library 相同的熟悉模式。Kent C. Dodds是 React React Testing Library 的作者,他表示,他从来没有像现在这样高兴地看到人们卸载 React Testing Library,转而支持原生实现。

 

Vitest 还支持其他框架,如VueSvelte。还有一个社区包可用于Lit。它支持多种不同的浏览器环境,这取决于你使用的哪个平台,如果你选择 WebDriverIO,它支持在四种不同的浏览器中进行测试:Firefox、Chrome、Edge 和 Safari。Playwright 支持 Firefox、 Webkit 和 Chromium。

 

正如他们的文档中概述的那样,使用 Vitest 浏览器模式也有一些缺点,例如它处于实验模式,因此仍处于早期开发阶段。与其他测试模式相比,它也可能有更长的初始化时间。

 

Vite是一个开源的、与平台无关的构建工具,以法语“快速”一词命名。它是由 VueJS 的创造者 Evan You 编写的。Vitest 是下一代 Vite 原生框架,它重用 Vite 的配置和插件;它支持 ESM、TypeScript 和 JSX。

 

浏览器模式的完整文档可以在Vitest网站上找到,其中还包括了设置指南和示例。

 

原文链接:

https://www.infoq.com/news/2025/06/vitest-browser-mode-jsdom/

2025-06-07 15:005918

评论

发布
暂无评论

鸿蒙原生应用开发也可以使用DeepSeek了

HarmonyOS开发者

【连载 17】多线程执行类

FunTester

松灵LIMO赋能科创教育,华动师大滴水湖冬令营培育AI新势力

松灵机器人

云手机构建流量矩阵案例:快手多开运营

Ogcloud

矩阵运营 矩阵引流 短视频矩阵 快手矩阵

以质量为笔,绘数字生活“芯”画卷

E科讯

DeepSeek满血版在IDEA中快的飞起

阿里巴巴云原生

阿里云 云原生 AI程序员 AI程序员体验官

DeepSeek满血版在IDEA中快的飞起

阿里云云效

阿里云 云原生 AI程序员 AI程序员体验官

低代码平台国产化部署的架构演进与实践路径——信创生态下的高效开发体系构建

不在线第一只蜗牛

低代码

易观AI战力飙升营,助你突破重围,毕业即就业 !

易观分析

15小时数据搞定衣物折叠收纳:DexVLA助力机器人轻松解决复杂任务!

松灵机器人

大模型开发利器Aladdin加持,4小时亲手复刻DeepSeek Aha Moment

九章云极DataCanvas

百度搜索,能否将DeepSeek变成“内功”?

脑极体

AI

26款可视化看板管理系统深入对比(2025年最新)

易成研发中心

看板工具

IDEA + 通义灵码AI程序员:快速构建DDD后端工程模板

阿里云云效

企业网络方案选择指南: 混合WAN与SD-WAN的差异

Ogcloud

SD-WAN 企业组网 企业网络 企业网络方案 混合wan

人、钱、业务,涌向“机器人”

趣解商业

科技 人形机器人 宇树科技

DeepSeek如何制作思维导图?3个常用绘图工具盘点!

职场工具箱

人工智能 思维导图 AIGC 效率软件 DeepSeek

IDEA + 通义灵码AI程序员:快速构建DDD后端工程模板

阿里巴巴云原生

阿里云 云原生 通义灵码 AI程序员 AI程序员体验官

微软 Muse 游戏生成模型:理解游戏环境,生成玩家动作;西工大 ASLP 实验室开源语音理解模型 OSUM丨日报

声网

为什么推荐你也来 Let's Vision 2025?

声网

云原生赋能博云企业转型,openEuler加速自主创新

极客天地

京东联合松灵等多家企业高校推出业内首个具身智能原子技能库架构

松灵机器人

京东广告基于Apache Doris的冷热数据分层实践

京东零售技术

《Operating System Concepts》阅读笔记:p50-p61

codists

操作系统

Vitest引入浏览器模式作为JSDOM的替代方案_软件工程_InfoQ精选文章