When testing Vue components, choose your runner based on the testing requirements:
Node-Based Runner (Vitest + happy-dom/jsdom)
Best for: Fast CI/CD pipelines, pure logic testing, state management, event emission, and props/slots behavior.
Limitation: Cannot test real CSS rendering, computed styles, native browser events (focus, drag, resize), or cookies.
Vitest Browser Mode
Required for: Verifying computed CSS styles, CSS transitions/animations, real focus/blur behavior, drag and drop, cookie operations, and viewport-dependent behavior.
Tradeoff: Slower execution speed compared to Node-based runners.