SuperAPI AI 工具集

test-vitest

测试与质量

查看项目

更新于 10-16 03:46

技能介绍

用途:该系统化指南面向 Vitest 测试框架,提供性能优化与最佳实践,包含 44 条规则,按影响优先级划分 8 个类别,用于指导测试编写、重构和代码评审。适用时机包括:编写新的 Vitest 测试、调试不稳定或缓慢的测试、设置测试配置、在 PR 中评审测试代码、从 Jest 迁移到 Vitest、优化 CI/CD 测试性能。

规则分类与优先级:按影响从高到低为——异步模式(关键,前缀 async-)、测试设置与隔离(关键,setup-)、Mock 模式(高,mock-)、性能(高,perf-)、快照测试(中,snap-)、环境(中,env-)、断言(低到中,assert-)、测试组织(低,org-)。

主要内容示例:异步方面强调 await 异步断言、从测试函数返回 Promise、对依赖时间的代码使用假定时器、用 vi.waitFor 处理异步条件、并发测试使用测试上下文 expect、等待用户事件避免 act 警告、正确处理异步错误;设置与隔离方面强调在 afterEach 中清理状态、恢复 Mock、避免共享可变状态、昂贵一次性设置用 beforeAll、测试模块状态时重置模块、使用测试工厂;Mock 方面涉及理解 vi.mock 提升行为、选择 vi.spyOn 与 vi.mock、用 mockImplementation 做动态 Mock、网络请求用 MSW、避免过度 Mock、保持类型安全、测试间清理 Mock 状态;性能方面涉及选择合适的 pool、在安全时禁用隔离、优先 happy-dom、CI 中用分片并行、使用 run 模式、使用 bail 快速失败;快照方面建议小值用内联快照、避免大快照、保证序列化稳定、提交前审查更新、描述性命名;环境方面支持按文件覆盖、使用 setup 文件、统一 globals 配置、Mock 测试环境不支持的浏览器 API;断言方面建议用具体匹配器、测试边界情况、每个测试一个概念、异步测试用 expect.assertions、正确选择 toBe 与 toEqual;组织方面建议测试文件与源文件同置、用 describe 分组、写描述性测试名、恰当使用 skip 和 only。

使用方式:可阅读各参考文件获取详细说明与代码示例,包括分类定义、规则模板、示例规则文件(如 async-await-assertions、mock-vi-mock-hoisting)。完整展开版见 AGENTS.md。相关技能:TDD 方法论见 test-tdd,MSW API Mock 见 test-msw,TypeScript 测试模式见 typescript。

限制:以上内容为面向 Vitest 的规则与实践指南;具体版本兼容性、安装命令及未在资料中说明的配置细节暂未提供。