Vitest Testing
Vitest 测试框架的最佳实践与模式
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:Vitest Testing。 它的用途是:Vitest 测试框架的最佳实践与模式 完整的 Skill 内容见:https://321skill.com/skills/vitest-testing-x-3/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
对 AI 说:'为这个 Vue 组件编写一个单元测试,使用 vi.mock 模拟 axios 请求',AI 会生成包含 describe/it 结构的测试代码,并自动配置 vitest.config 中的测试环境(如 jsdom)。同时,它还会在测试文件中添加 vi.mock 的模拟语句,并确保测试用例覆盖组件的正常状态和错误状态。
介绍
这个 Skill 解决的是在 Vite 项目中编写和运行测试时缺乏统一规范和高效模式的问题。许多开发者在使用 Vitest 时,容易写出不易维护的测试用例,或者不清楚如何正确配置测试环境、使用 vi.mock 进行模块模拟。本 Skill 提供了一套经过验证的测试模式,涵盖单元测试、集成测试的常见场景,以及 vitest.config 的推荐配置方案。
使用时,你可以直接向 AI 描述你的测试需求,例如“给这个组件写单元测试”或“用 vi.mock 模拟 API 请求”,AI 会基于 Vitest 的最佳实践生成代码,并自动检测配置文件是否正确。同时,它还支持在已有项目中快速应用测试模式,比如自动补全测试用例的骨架结构,或指导你如何组织测试文件目录。
这个 Skill 特别适合前端开发、后端开发(Node 环境)以及测试工程师,尤其是那些使用 Vite 作为构建工具、希望提升测试效率与质量的团队。对于刚接触 Vitest 的开发者,它能帮你跳过试错阶段;对于经验丰富的开发者,它能提供可复用的测试模板和模式,减少重复劳动。
使用建议:在编写测试时,尽量遵循 Skill 中推荐的 Arrange-Act-Assert 模式,并利用 vi.fn 创建桩函数来隔离依赖。注意,本 Skill 主要针对同步测试场景,对于涉及大量异步逻辑或复杂时间依赖的测试,建议结合 Vitest 的 fakeTimers 功能一并使用。另外,如果项目使用 Jest 的某些特定 API,迁移前请检查兼容性。
核心特点
与通用的测试技能不同,本 Skill 专为 Vite 生态打造,深度利用 vi.mock/vi.fn 的模块模拟机制,并提供了 vite.config 与 vitest.config 的协同配置方案,能显著减少测试环境搭建的配置成本。
注意事项
不适用于非 Vite 构建的项目(如 Webpack、Rollup 纯手配),也无法覆盖需要真实浏览器环境(如 Cypress)的端到端测试场景。
常见问题
Vitest 和 Jest 有什么区别?
Vitest 原生支持 Vite 的插件和转换,速度更快,且兼容 Jest 的大部分 API,但配置更简洁,默认支持 ESM 和 TypeScript。
如何用 vi.mock 模拟全局模块?
调用 vi.mock('模块路径') 即可,可放在测试文件顶部,自动提升;支持工厂函数和 __mocks__ 目录。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/vitest-testing-x-3/raw/index.md 读取 Vitest Testing 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/vitest-testing-x-3/raw/index.md(查看排版版本)