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
29
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
36
Introduction to Remix
silvenon
0
170
Cypress vs. Playwright
silvenon
0
180
Studying Strapi: an open source head headless CMS
silvenon
0
58
CSS Specificity
silvenon
0
64
Make your JavaScript projects more accessible to newcomers
silvenon
0
98
React Hooks
silvenon
0
98
PostCSS
silvenon
0
67
CSS Custom Properties
silvenon
0
59
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
あなたの知らないバージョン命名規則
sat
PRO
2
850
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
0
180
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
1
220
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
130
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.7k
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
490
信頼性はSREだけのものじゃない
hkawaras
0
300
MCPを待つな、パスキーを拡げよう(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
1
440
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
2
830
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
It's Worth the Effort
3n
188
29k
The Limits of Empathy - UXLibs8
cassininazir
1
620
sira's awesome portfolio website redesign presentation
elsirapls
0
350
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
New Earth Scene 8
popppiees
3
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
65
57k
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