Vitest 2.0 正式发布:Vue 团队打造的下一代测试框架
7 月 8 日,由 Vue 团队打造的下一代测试框架 Vitest 正式推出 2.0 版本!
Vitest 于 2021 年 12 月推出,至今已经过去了两年多的时间,其发展速度可谓是非常迅速,目前在 npm 下载量已经达到了每周500w,并且还在呈现快速增长的趋势。
Vitest 是一个原生支持 Vite 的测试框架。Vitest 以其快速、简洁的测试解决方案而爆火,只需要很少的配置即可上手。由于 Vitest 和 Vite 使用相同的配置文件,因此将 Vitest 集成到 Vue 应用中很简单。
Vitest 主要功能:
-
与 Vite 通用的配置、转换器、解析器和插件。
-
使用与你的应用程序相同的设置来运行测试!
-
智能文件监听模式,就像是测试的 HMR!
-
支持对 Vue、React、Svelte、Lit 等框架进行组件测试。
-
开箱即用的 TypeScript / JSX 支持
-
ESM 优先,支持模块顶级 await
-
通过 Tinypool 使用 Worker 线程尽可能多地并发运行
-
使用 Tinybench 来支持基准测试
-
套件和测试的过滤、超时、并发配置
-
支持 Workspace
-
Jest 的快照功能
-
内置 Chai 进行断言 + 与 Jest expect 语法兼容的 API
-
内置用于对象模拟(Mock)的 Tinyspy
-
使用 jsdom 或 happy-dom 用于 DOM 模拟
-
通过 v8 或 istanbul 来输出代码测试覆盖率
-
类似于 Rust 语言的源码内联测试
-
通过 expect-type 进行类型测试
Vitest 2.0 更新内容
Vitest 2.0 迁移指南:https://cn.vitest.dev/guide/migration
重要变更
-
简化模拟函数泛型类型并与 Jest 对齐
-
移除 --segfault-retry 选项
-
以栈的形式运行套件钩子
-
默认启用 coverage.ignoreEmptyLines
-
在 JSON 报告中添加正确的位置和快照字段
-
更新依赖 chai 至版本 5
-
移除 watchExclude 选项
-
更改默认池为 'forks'
-
添加 --merge-reports 以支持覆盖率
-
添加基于 Promise 的返回断言,不自动解析返回的 Promise
-
如果全局设置失败,不要退出进程
-
如果配置失败,不要退出进程
-
在 JSON 输出中添加元数据
-
在浏览器配置中将 indexScripts 重命名为 orchestratorScripts
-
添加 "vitest list" API 以打印收集的测试而不运行它们
-
从运行器中移除空套件
-
支持并发套件
新增功能
-
美化差异输出:来自原因的 diff 输出现在更易读
-
改进 IDE 支持:现在允许将导入语句作为 vi.mock 路径
-
移除弃用选项:清理了不再使用的选项
-
添加 blob 报告器:增加了新的报告器选项
-
添加 expect.poll 实用程序:提供了一个工具来手动重试断言
-
添加 browser.ui 选项:允许用户配置浏览器界面的选项
-
在 --output-json 中添加中位数:增强了 JSON 输出功能
-
允许增强 config.test.env:现在可以在配置中增强测试环境变量
-
在浏览器模式中实现模块模拟:浏览器模式现在支持模块模拟
-
允许在配置中配置 expect 选项:可以更灵活地配置期望行为
-
添加打印控制台堆栈跟踪的选项:增加了一个选项来打印控制台的堆栈跟踪
-
向 UI 添加浏览器框架:改进了用户界面,添加了浏览器框架视图
-
图像类型添加 bmp 支持:现在支持 .bmp 图像类型
-
添加从 page.screenshot 返回 base64 的选项:现在可以选择以 base64 格式返回截屏
-
公开来自 Vite 的 parseAst、parseAstAsync:将这些函数公开以供外部使用
-
浏览器模式:
-
为 Vitest 浏览器模式的下一次迭代奠定基础
-
添加服务器和浏览器之间通信的命令
-
在监视模式下不重新加载页面
-
支持更改视口
-
添加浏览器 iframe 鼠标交互
-
支持点击事件
-
将 none 提供程序重命名为 preview 并设为默认值
-
在无头模式下并行运行测试,添加 page.screenshot 方法
-
实现多个 userEvent 方法,添加填充和拖放事件
-
引入 expect.dom 方法,并将 jest-dom 匹配器与 @vitest/browser 打包
-
在浏览器中公开 CDP
-
为浏览器测试添加 "init" 命令
-
添加如果浏览器测试失败则拍摄屏幕截图的选项
-
向交互式 API 添加三击 (tripleClick)
-
Playwright 提供程序不允许调整浏览器视口大小
-
Release Notes:https://github.com/vitest-dev/vitest/releases/tag/v2.0.0

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
橙单代码生成工具 3.0 正式版,启程迎接挑战
橙单3.0 首先感谢开源中国的平台,也感谢大家的阅读与关注。橙单赠人玫瑰,手有余香,希望我们的免费代码生成工具可以为更多的开发者带来更多的学习和休息时间。 创业维艰,在过去的一年中,我们团队在大家的帮助下和明确目标的指引下,非常艰难的走过来了。没有足够的资源,只有足够的热情和开发最好快开平台的动力,让我们从去年的今天 2.9 发布的时候,用了足足一年才迎来换代版本 3.0 的升级。这一执念来自于很早之前一次与朋友的交流,3.0 版本才是一款产品的真正第一版。 最新开源 参考我们的文档确保开箱即用和极少的 BUG。 全新技术栈 Boot3 + Vue3 + Flowable7 +Sa-Token + Mybatis-Flex / Mybatis-Plus。 在线表单和工作流的主体功能全部开源。 前端提供「高颜值」的表单编辑器和流程编辑器。 全新橙单 免费的代码生成,本质都是 CURD,但橙单可以支持「跨服务多表关联」级联增删改查的一键生成。 全新的网站设计,希望可以让更多的同行第一眼就能记住我们。 全新的文档设计,高颜值和极优质的阅读体验,授人以鱼不如授人以渔的文档内容。 全优的代码质量...
- 下一篇
Firefox 128.0 正式发布
Firefox 128.0 现已发布,具体更新内容如下: New Firefox 现在可以从上下文菜单将选定的文本和超链接文本翻译成其他语言。 美国和加拿大的用户在打开地址栏时,Firefox 现在会显示用户最近的搜索或当前流行的搜索,以便用户返回上一个搜索会话或启发下一个搜索。 Firefox 现在拥有更简洁、更统一的清除用户数据对话框。除了精简数据类别外,新对话框还提供与所选时间范围对应的站点数据大小的洞察。 Firefox 现在支持在隐私浏览模式下播放来自 Netflix 等流媒体网站的受保护内容。 Firefox 现在支持实验性的Privacy Preserving Attribution API,它为 ad attribution 提供了用户跟踪的替代方案。此实验性功能仅通过origin trial启用,可在隐私和安全设置中的新网站广告偏好设置部分中禁用。 在 macOS 上,通过 getUserMedia 进行的麦克风捕获现在将在适用时使用系统提供的语音处理,从而提高音频质量。 Firefox 现已支持 Saraiki (skr) 语言。 Fixed 现在,Firefox ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)