Vitest
Next generation testing framework powered by Vite.
Features
- Vite's config, transformers, resolvers, and plugins. Use the same setup from your app!
- Jest Snapshot
- Chai built-in for assertions, with Jest expect compatible APIs.
- Smart & instant watch mode, like HMR for tests!
- Native code coverage via
v8
or istanbul
. - Tinyspy built-in for mocking, stubbing, and spies.
- JSDOM and happy-dom for DOM and browser API mocking
- Components testing (Vue, React, Svelte, Lit, Vitesse, Marko)
- Workers multi-threading via Tinypool (a lightweight fork of Piscina)
- Benchmarking support with Tinybench
- Workspace support
- expect-type for type-level testing
- ESM first, top level await
- Out-of-box TypeScript / JSX support
- Filtering, timeouts, concurrent for suite and tests
Vitest 1.0 requires Vite >=v5.0.0 and Node >=v18.00
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()
})
})
$ npx vitest
Credits
Thanks to:
Contribution
See Contributing Guide.
Get involved!
Documentation | Getting Started | Examples | Why Vitest?
中文文档'
Download Details:
Author: vitest-dev
Source Code: https://github.com/vitest-dev/vitest
License: MIT license
#node #nodejs #test #testing #tools