用途:为 TypeScript 项目提供测试模式参考,核心组合是 Vitest(单元测试)、MSW(API 模拟)与快照测试(复杂对象校验)。适合在编写单元测试、模拟 API、为依赖注入创建类型安全 mock、使用快照校验输出时使用。
主要能力:
- Vitest 基础结构:describe/it/expect/beforeEach,支持异步、回调、假定时器(vi.useFakeTimers)。
- 类型安全 mock:通过 vi.mock 与 vi.mocked<T>() 创建并断言 mock 的返回值、异常与调用参数。
- 返回值控制:mockResolvedValue、mockResolvedValueOnce、mockImplementation、mockRejectedValue;可用 vi.spyOn 监视真实实现。
- MSW 网络层模拟:用 http、HttpResponse、setupServer 定义处理器,配合 beforeAll/afterEach/afterAll 管理服务器。
- 快照测试:toMatchSnapshot、toMatchInlineSnapshot,动态值用 expect.any() 等属性匹配器处理。
- 测试组织:嵌套 describe、共享 setup,以及错误边界与竞态条件测试模式。
安装命令(保持原样): 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 vitest --ui vitest run --coverage
适用场景:TypeScript 服务与模块单元测试、REST 接口契约与错误响应测试、依赖注入组件的 mock 测试、复杂输出快照校验。
限制与说明:具体 Vitest/MSW 之外的框架集成、收费与平台信息暂未提供;测试策略需结合项目实际配置。