Dao WuMing 在 学习前端测试,vitest Browser Mode 感觉未来可期,但是在国内外都好少人聊 中发帖
背景介绍:
前端测试目前最主流的是使用 jest 这个测试框架配合 testing library 这个库适配各种前端框架,使用 jsdom 或者 happy-dom 等虚拟浏览器环境来做测试。
虚拟浏览器环境测试的问题
主要问题出在使用虚拟浏览器环境进行前端测试,会出现需要更多额外的配置和匹配器只能匹配css属性的值,而无法看到作用在元素上的样式
[image]
来自 @testing-library/jest-dom/vitest 的匹配器 toHaveStyle 检查,但是你不好奇样式真的作用在我们测试的元素上了吗?
[image]
我们实际去查询下这个元素的样式
[image]
发现居然匹配出来不对
这是 jsdom 的问题,主要是在模拟的浏览器环境里实现对性能降低很多。
使用浏览器模式
[image]
有一个真实的浏览器环境,可以看到渲染成果,甚至是可...