Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Goodbye jsdom/happy-dom, hello Vitest Browser M...
Search
Matija Marohnić
October 24, 2025
Technology
0
10
Goodbye jsdom/happy-dom, hello Vitest Browser Mode!
Matija Marohnić
October 24, 2025
Tweet
Share
More Decks by Matija Marohnić
See All by Matija Marohnić
Introduction to Remix
silvenon
0
150
Cypress vs. Playwright
silvenon
0
170
Studying Strapi: an open source head headless CMS
silvenon
0
50
CSS Specificity
silvenon
0
48
Make your JavaScript projects more accessible to newcomers
silvenon
0
81
React Hooks
silvenon
0
85
PostCSS
silvenon
0
47
CSS Custom Properties
silvenon
0
47
Maintainable Integration Testing in React
silvenon
0
51
Other Decks in Technology
See All in Technology
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
260
Everything Claude Code を眺める
oikon48
11
7k
組織全体で実現する標準監視設計
yuobayashi
3
490
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
280
Claude Code のコード品質がばらつくので AI に品質保証させる仕組みを作った話 / A story about building a mechanism to have AI ensure quality, because the code quality from Claude Code was inconsistent
nrslib
13
8.6k
Go標準パッケージのI/O処理をながめる
matumoto
0
220
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
230
GCASアップデート(202601-202603)
techniczna
0
210
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
260
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
2
660
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.8k
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
180
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Fireside Chat
paigeccino
42
3.8k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
210
Skip the Path - Find Your Career Trail
mkilby
1
82
Statistics for Hackers
jakevdp
799
230k
Design in an AI World
tapps
0
170
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
Test your architecture with Archunit
thirion
1
2.2k
Transcript
Matija Marohnić Goodbye jsdom & happy-dom 👋 Hello Vitest Browser
Mode!
Who am I? • 13+ ye a rs of frontend
development • a lot of open source experience • p a ssion for testing • I just returned from ViteConf
Stable! Experimental v4
jsdom & happy-dom
jsdom & happy-dom • window.m a tchMedi a () ✅
• sh a dow DOM ✅ • Custom Elements ✅ • node.scrollHeight === 0 • IntersectionObserver → stub • ResizeObserver → stub
jsdom & happy-dom • extremely c a p a ble
DOM emul a tors • v a riety of purposes • testing components is best in a browser
Vitest Browser Mode
Vitest Browser Mode What is it? • unit tests inside
a browser • no more pretending, your tests now know everything • currently supports Pl a ywright a nd WebdriverIO
Vitest Browser Mode How do I…? • should be somewh
a t f a mili a r to E2E • loc a tors, retry- a bility, a 11y-friendly queries a nd a ctions… • liter a lly uses E2E fr a meworks under the hood
Vitest Browser Mode Extensibility • new loc a tors •
new comm a nds • new p a ge methods…
Vitest Browser Mode vs. E2E testing
Vitest Browser Mode • good for testing fr a mework
components — render wh a t you need • client side • no routing (work a round: memory router) • f a ster visu a l regression testing • Vitest UI
E2E testing • testing full st a ck a pplic
a tion f lows • route-b a sed • E2E fr a mework UI, for ex a mple Pl a ywright UI
silvenon.com Matija Marohnić • @silvenon.com on Bluesky 🦋 • “silvenon”
on GitHub