Vitest原生 Vite 测试框架
Vitest 是基于 Vite 的原生快速单元测试框架。
特性
- 和 Vite 的配置、转换器、解析器和插件保持一致
- Jest Snapshot
- 内置 Chai 用于断言,以及与 Jest expect 兼容的 API
- 支持 Smart 和 instant watch 模式,如同用于测试的 HMR
- 通过 c8 实现的 Native code coverage
- 内置 Tinyspy 用于模拟、打标和监察
- 使用 JSDOM 和 happy-dom 用于 DOM 和 browser API mocking
- Components testing (Vue, React, Lit, Vitesse)
- Workers multi-threading via tinypool (a lightweight fork of Piscina)
- ESM first, top level await
- 开箱即用的 TypeScript / JSX 支持
- Filtering, timeouts, concurrent for suite and tests
示例
import { it, describe, expect, assert } 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
评论