找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

406

积分

0

好友

62

主题
发表于 16 小时前 | 查看: 3| 回复: 0

Vitest团队近日发布了4.0版本,为这款Vite-native测试框架带来了多项重要改进,包括浏览器模式稳定化、内置视觉回归测试支持、以及开发者体验的全面增强。

此次发布的Vitest 4.0引入了多项重大特性,同时也包含一些破坏性变更,开发者在升级前需要仔细阅读迁移指南。

浏览器模式正式稳定

其中最受关注的改进之一是浏览器模式结束了实验状态,正式进入稳定阶段。该功能允许开发者在真实的浏览器环境中运行测试,而非在jsdom或happy-dom等模拟环境中,从而获得更准确的测试结果。

使用浏览器模式时,开发者现在需要单独安装相应的Provider包,例如 @vitest/browser-playwright@vitest/browser-webdriverio@vitest/browser-preview。这一变化简化了自定义选项的处理,并移除了对TypeScript引用指令的需求。

此外,context的导入路径也发生了变化。之前从 @vitest/browser/context 导入,现在应从 vitest/browser 直接导入。为保持兼容性,旧导入路径在下一个主要版本前将继续有效。

内置视觉回归测试支持

Vitest 4.0通过新增的 toMatchScreenshot 断言,原生支持了视觉回归测试。该功能会捕获UI组件和页面的截图,并将其与参考图像进行比对,以检测非预期的视觉变更。

配合此功能,Vitest还引入了一个 toBeInViewport 匹配器,允许开发者利用IntersectionObserver API来检查元素当前是否在视口内。

Playwright Traces集成与调试增强

对于浏览器测试,Vitest 4.0支持生成Playwright Traces。开发者可以在 test.browser 配置中设置 trace 选项,或传递 browser.trace 标志来启用跟踪。生成的跟踪文件可以作为注解在报告器中查看,并使用Playwright Trace Viewer进行详细分析。

在开发者体验方面,当运行浏览器测试时,VSCode扩展现在支持“Debug Test”按钮,显著改善了调试流程。使用playwright和webdriverio提供程序时,开发者还可以通过inspect标志启动Vitest,以手动连接到DevTools。

报告器更新

报告器方面也有一些调整:basic 报告器已被移除,其功能可通过设置 summary: falsedefault 报告器替代。默认报告器现在仅在运行单个测试文件时以树状格式打印测试结果。同时,新增了一个 tree 报告器,供那些始终希望以树状结构查看测试的开发者使用。verbose 报告器的行为也得到统一,现在测试完成后会逐一打印结果,而此前该行为仅在CI环境中出现。

社区反馈与升级须知

社区对Vitest 4.0的反响积极,有开发者指出,原生集成视觉回归测试减少了对Percy或Chromatic等第三方方案的依赖。同时,其监听模式性能被认为持续优于Jest,配合新特性,使得Vitest成为一个功能更完备的测试解决方案。

不过,升级过程中也可能遇到问题。有GitHub Issue报告称,在特定配置下(如在TypeScript上下文中包含vitest.config.ts文件),将Vitest 4.x与Vite 7.1.0或更早版本结合使用时,可能会出现类型错误。该问题已被标记为影响特定使用模式的次要Bug。

重要提示:Vitest 4.0包含破坏性变更,可能会影响现有项目。Vitest团队已发布详细的迁移指南,帮助开发者从旧版本平稳过渡。完整的变更列表可在GitHub的Vitest 4更新日志中查阅。

根据VoidZero博客的数据,过去一年中,Vitest的每周下载量已从700万增长至1700万,显示出其日益增长的受欢迎程度。Vitest作为一个为Vite项目开发但可独立使用的开源测试框架,提供了与Jest兼容的API,并依托esbuild为ESM、TypeScript和JSX提供了一流的支持。




上一篇:AWS Lambda Managed Instances实战解析:在EC2实例上运行函数兼顾成本优化
下一篇:Netflix直播架构深度解析:如何在一分钟内触达百万设备
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-6 20:02 , Processed in 0.065981 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表