用途:该技能提供使用 Vitest 进行单元测试、使用 MSW 进行 API 模拟、使用快照测试验证复杂对象的 TypeScript 测试模式,适用于编写单元测试、模拟 API、为依赖注入创建类型化 mock 或使用快照时参考。
主要能力:Vitest 的 describe/it/expect/vi 基础结构与 beforeEach 清理;用 vi.mocked<T>() 生成类型安全的 mock 并设置 mockResolvedValue、mockRejectedValue、mockImplementation 等返回值;用 vi.spyOn 监视真实实现;用 MSW 在网络层模拟 HTTP 请求,支持错误模拟、延迟与逐测试覆盖;快照测试处理动态值时可配合 expect.any();异步代码测试支持 Promise、回调、vi.useFakeTimers() 假定时器;提供测试组织、依赖注入、错误边界、竞态条件等常见模式及调试命令。
使用方式:安装依赖使用 bun add -d vitest @vitest/ui、bun add -d msw,可选 bun add -d @vitest/coverage-v8。运行单个文件用 vitest run path/to/test.spec.ts,按名称匹配用 vitest run -t "creates user",监听模式用 vitest watch,UI 调试用 vitest --ui,覆盖率用 vitest run --coverage。
适用场景:TypeScript 项目单元测试、API 集成测试、依赖注入测试与复杂对象校验。
限制:资料未说明该技能的收费、平台兼容范围与具体效果,暂未提供;部分内容引用 references/mocking.md、references/msw.md、references/snapshot-testing.md,相关资料未在本文给出。