Vitest
A Vite-native test framework. It's fast!
README
Vitest
A blazing fast unit test framework powered by Vite.
Documentation | Getting Started | Examples | Why Vitest?
Features
- Vite's config, transformers, resolvers, and plugins. Use the same setup from your app!
- Chai built-in for assertions, with Jest expect compatible APIs.
- Smart & instant watch mode, like HMR for tests!
- Tinyspy built-in for mocking, stubbing, and spies.
- Benchmarking support with Tinybench
- ESM first, top level await
- Out-of-box TypeScript / JSX support
- Filtering, timeouts, concurrent for suite and tests
Vitest requires Vite >=v3.0.0 and Node >=v14
- ```ts
- import { assert, describe, expect, it } from 'vitest'
- describe('suite name', () => {
- it('foo', () => {
- expect(1 + 1).toEqual(2)
- expect(true).to.be.true
- })
- it('bar', () => {
- assert.equal(Math.sqrt(4), 2)
- })
- it('snapshot', () => {
- expect({ foo: 'bar' }).toMatchSnapshot()
- })
- })
- ```
- ``` sh
- $ npx vitest
- ```
Sponsors
Anthony Fu Sponsors
Patak Sponsors
Credits
Thanks to:
- The Jest team and community for creating a delightful testing API
- @pi0 for the idea and implementation of using Vite to transform and bundle the server code.
- The Vite team for brainstorming the initial idea.
- @patak-dev for the awesome package name!
Contribution
See Contributing Guide.