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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Matija Marohnić
October 24, 2025
Technology
19
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
29
Introduction to Remix
silvenon
0
160
Cypress vs. Playwright
silvenon
0
170
Studying Strapi: an open source head headless CMS
silvenon
0
55
CSS Specificity
silvenon
0
62
Make your JavaScript projects more accessible to newcomers
silvenon
0
91
React Hooks
silvenon
0
93
PostCSS
silvenon
0
65
CSS Custom Properties
silvenon
0
52
Other Decks in Technology
See All in Technology
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
5.9k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
140
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
320
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
490
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
2.3k
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
3
560
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
160
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
730
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
430
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.1k
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
340
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
380
The SEO Collaboration Effect
kristinabergwall1
1
470
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Google's AI Overviews - The New Search
badams
0
1k
Site-Speed That Sticks
csswizardry
13
1.2k
Chasing Engaging Ingredients in Design
codingconduct
0
210
Docker and Python
trallard
47
3.9k
Embracing the Ebb and Flow
colly
88
5.1k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
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