Vitest Testing

Vitest 测试框架的模式与最佳实践

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:Vitest Testing。
它的用途是:Vitest 测试框架的模式与最佳实践
完整的 Skill 内容见:https://321skill.com/skills/vitest-testing/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

'帮我写一个 Vitest 单元测试,测试一个加法函数 add(a, b),包括边界值和异常情况。' 它会生成包含 describe、it、expect 的测试用例,并使用 vi.fn 模拟依赖。

对AI说:'如何配置 vitest.config 以支持 alias 和 global? 它会在 vitest.config.ts 中设置 resolve.alias 和 test.globals: true,并给出说明。

介绍

Vitest Testing 是一个专注于 Vitest 测试框架的 AI Skill,帮助开发者快速掌握单元测试、集成测试、配置 vitest.config 以及使用 vi.mock/vi.fn 进行模拟等核心能力。它解决了在编写测试时常见的不熟悉 API、测试模式不规范、mock 用法混乱等问题,提供结构化的最佳实践和代码示例,让测试编写更高效、更可靠。

在编码过程中,你可以直接向 AI 提问如“如何用 vi.mock 模拟一个模块?”或“帮我写一个测试异步函数的 Vitest 用例”,AI 会根据当前项目上下文生成对应的测试代码、配置建议或 mock 方案。它也适用于在已有测试中进行重构、补充测试覆盖或排查测试失败原因。

该 Skill 特别适合测试工程师、前端开发者和全栈开发者,尤其是使用 Vite 作为构建工具的项目。对于正在学习 Vitest 或希望提升测试质量的团队,它能显著降低学习曲线,统一测试风格。

建议在使用时明确项目使用的 Vitest 版本(如 v1 或 v2),并确保已安装相关依赖。对于复杂场景(如涉及多个模块的集成测试),建议结合项目实际结构进行微调,避免过度依赖 AI 生成的模板代码。

核心特点

与通用测试指南不同,本 Skill 专注于 Vitest 特有的 API 和模式(如 vi.mock、vi.fn、vi.stubGlobal 等),并针对 Vite 项目环境提供最佳实践,而非泛泛的测试方法论。

注意事项

不适合非 JavaScript/TypeScript 项目(如 Python、Java)的测试场景,也不适用于 Jest 或 Mocha 等其他测试框架。

常见问题

如何配置 vitest.config 支持 TypeScript?

在 vitest.config.ts 中设置 test.globals: true 并确保 tsconfig 包含 vitest 类型,或使用 defineConfig 导入后自动推断类型。

vi.mock 和 vi.fn 有什么区别?

vi.mock 用于模拟整个模块,在顶层调用;vi.fn 用于创建模拟函数,可在测试中手动物化返回值或行为。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/vitest-testing/raw/index.md 读取 Vitest Testing 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。