SuperAPI AI 工具集

vitest

测试与质量

查看项目

更新于 10-16 06:02

技能介绍

Vitest 是一个由 Vite 驱动的下一代测试框架。它提供与 Jest 兼容的 API,并开箱即用地支持原生 ESM、TypeScript 和 JSX。Vitest 与你的 Vite 应用共享同一套配置、转换器、解析器和插件。

主要特性:

  • 原生 Vite:使用 Vite 的转换管线,实现类似 HMR 的快速测试更新
  • 兼容 Jest:可作为大多数 Jest 测试套件的替代方案
  • 智能监听模式:基于模块图只重新运行受影响的测试
  • 原生支持 ESM、TypeScript、JSX,无需配置
  • 多线程 worker,支持并行测试执行
  • 通过 V8 或 Istanbul 提供内置覆盖率
  • 快照测试、Mock 和 spy 工具

该技能基于 Vitest 3.x,生成于 2026-01-28。

核心(Core)

  • 配置(Configuration):Vitest 与 Vite 配置集成、defineConfig 用法。参考:core-config
  • CLI(CLI):命令行接口、命令与选项。参考:core-cli
  • 测试 API(Test API):test/it 函数,以及 skip、only、concurrent 等修饰符。参考:core-test-api
  • Describe API(Describe API):describe/suite,用于分组测试和嵌套套件。参考:core-describe
  • Expect API(Expect API):使用 toBe、toEqual、匹配器和非对称匹配器进行断言。参考:core-expect
  • 钩子(Hooks):beforeEach、afterEach、beforeAll、afterAll、aroundEach。参考:core-hooks

功能(Features)

  • Mock(Mocking):使用 vi 工具对函数、模块、计时器、日期进行 Mock。参考:features-mocking
  • 快照(Snapshots):使用 toMatchSnapshot 和内联快照进行快照测试。参考:features-snapshots
  • 覆盖率(Coverage):使用 V8 或 Istanbul provider 进行代码覆盖率统计。参考:features-coverage
  • 测试上下文(Test Context):测试夹具、context.expect、使用 test.extend 自定义夹具。参考:features-context
  • 并发(Concurrency):并发测试、并行执行、分片。参考:features-concurrency
  • 过滤(Filtering):按名称、文件模式、标签过滤测试。参考:features-filtering

高级(Advanced)

  • Vi 工具(Vi Utilities):vi 辅助工具:mock、spyOn、fake timers、hoisted、waitFor。参考:advanced-vi
  • 环境(Environments):测试环境:node、jsdom、happy-dom、自定义环境。参考:advanced-environments
  • 类型测试(Type Testing):使用 expectTypeOf 和 assertType 进行类型层面的测试。参考:advanced-type-testing
  • 项目(Projects):多项目工作区,每个项目使用不同配置。参考:advanced-projects