SuperAPI AI 工具集

vitest

测试与质量

查看项目

更新于 10-15 18:37

技能介绍

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

主要能力

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

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

核心主题

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

功能主题

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

高级主题

  • 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。

使用方式与适用场景

Vitest 适用于使用 Vite 构建的前端或 Node.js 项目,尤其适合需要快速反馈、原生 ESM/TypeScript/JSX 支持以及 Jest 兼容 API 的测试场景。可通过其 CLI 运行测试,在监听模式下仅重跑受影响的测试,并利用内置覆盖率、快照和模拟能力完成单元测试与相关测试任务。

限制

资料未提供具体的安装命令、价格、平台支持范围或性能基准数据,这些信息暂未提供。