Vitest
Vitest 是一个基于 Vite 构建工具的现代前端单元测试框架,专为 JavaScript 和 TypeScript 项目设计。它与 Vite 的配置和插件体系深度集成,支持原生 ES 模块,提供快速的测试执行速度。Vitest 兼容 Jest 的 API 语法,支持组件测试、快照测试及代码覆盖率统计,并内置对多种浏览器模拟环境(如 jsdom、Happy DOM)的支持。
时间轴 (近 90 天)
SoloBooks AI 的测试套件运行在 Vitest 上,17 个测试全部通过,覆盖最小单位算术、文档安全、schema 校验、重复检测、发票状态流转和真实 Ollama 连通性。
该 PreToolUse hook 附带 52 个 Vitest 用例(39 个应阻断、12 个应放行,外加当前分支检查)。
Vitest 5 提供 `--repeats <number>` 参数将每个测试重复指定次数,以及 `--sequence.shuffle` 配合 `--sequence.seed` 给出带种子的顺序。
Vitest 的序列配置中种子默认是 `Date.now()`,但文档没有说明 Vitest 会打印该种子。
Changesets 或 semantic-release 这类自动化发布模式已被 Vite、Vitest、Turborepo 等主流开源项目验证并使用。
全部知识事实 (6)
Happy DOM是一个用TypeScript实现的无头浏览器环境,已被Vitest、Jest、Bun等测试框架作为默认或可选的DOM环境
90%待验证SoloBooks AI 的测试套件运行在 Vitest 上,17 个测试全部通过,覆盖最小单位算术、文档安全、schema 校验、重复检测、发票状态流转和真实 Ollama 连通性。
50%待验证该 PreToolUse hook 附带 52 个 Vitest 用例(39 个应阻断、12 个应放行,外加当前分支检查)。
50%待验证Vitest 5 提供 `--repeats <number>` 参数将每个测试重复指定次数,以及 `--sequence.shuffle` 配合 `--sequence.seed` 给出带种子的顺序。
50%待验证Vitest 的序列配置中种子默认是 `Date.now()`,但文档没有说明 Vitest 会打印该种子。
50%待验证Changesets 或 semantic-release 这类自动化发布模式已被 Vite、Vitest、Turborepo 等主流开源项目验证并使用。
50%