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
16
0
Share
Goodbye jsdom/happy-dom, hello Vitest Browser Mode!
Matija Marohnić
October 24, 2025
More Decks by Matija Marohnić
See All by Matija Marohnić
oxlint & oxfmt: linting and formatting from the future
silvenon
0
27
Introduction to Remix
silvenon
0
150
Cypress vs. Playwright
silvenon
0
170
Studying Strapi: an open source head headless CMS
silvenon
0
55
CSS Specificity
silvenon
0
58
Make your JavaScript projects more accessible to newcomers
silvenon
0
87
React Hooks
silvenon
0
91
PostCSS
silvenon
0
60
CSS Custom Properties
silvenon
0
52
Other Decks in Technology
See All in Technology
2026年春のAgentCoreアプデ 細かいやつ全部まとめ
minorun365
3
210
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
370
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
230
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
200
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
190
AI 時代の Platform Engineering
recruitengineers
PRO
1
130
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
200
100マイクロサービスのTerraform/Kubernetes管理地獄から抜け出すためのAI活用術
markie1009
0
110
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
150
Forget technical debt
ufried
0
180
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
300
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
350
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Are puppies a ranking factor?
jonoalderson
1
3.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
190
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
WENDY [Excerpt]
tessaabrams
10
37k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
A designer walks into a library…
pauljervisheath
211
24k
Six Lessons from altMBA
skipperchong
29
4.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Why Our Code Smells
bkeepers
PRO
340
58k
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