Back to articles
Vitest Has a Free Test Runner: Jest-Compatible Tests That Run 10x Faster With Native ESM and TypeScript

Vitest Has a Free Test Runner: Jest-Compatible Tests That Run 10x Faster With Native ESM and TypeScript

via Dev.to WebdevAlex Spinov

Jest needs ts-jest for TypeScript, @swc/jest for speed, babel-jest for ESM, and still doesn't support import.meta . Your test suite takes 45 seconds because Jest transforms every file through Babel. What if your test runner was built on Vite — instant TypeScript, native ESM, and watch mode that reruns in milliseconds? That's Vitest. Quick Start npm install -D vitest // package.json { "scripts" : { "test" : "vitest" } } That's the entire setup. No config file needed for most projects. Jest-Compatible API import { describe , it , expect , vi , beforeEach } from " vitest " ; describe ( " UserService " , () => { beforeEach (() => { vi . clearAllMocks (); }); it ( " creates a user with valid data " , async () => { const user = await createUser ({ name : " Aleksej " , email : " dev@test.com " }); expect ( user ). toMatchObject ({ name : " Aleksej " , email : " dev@test.com " , }); expect ( user . id ). toBeDefined (); }); it ( " throws on duplicate email " , async () => { await createUser ({

Continue reading on Dev.to Webdev

Opens in a new tab

Read Full Article
2 views

Related Articles