Vitest Testing 是一个项目专属的测试技能,用于在 Angular 工程中基于 Vitest 与 Angular TestBed 编写和维护单元测试。资料说明,该技能会在编写测试、讨论测试初始化配置、创建 spec 文件以及处理 mock 时被激活。
主要能力与规范:
- 测试框架为 Vitest,测试环境基于 Angular TestBed;
- 每个测试的初始化都必须调用 provideZonelessChangeDetection();
- Vitest 全局变量已预配置,禁止导入 describe、it、expect、vi;
- Signal 输入必须通过 componentRef.setInput('name', value) 设置;
- 测试结构遵循 AAA 模式(Arrange、Act、Assert);
- mock 不得使用 any,需要完整类型标注。
使用方式:运行 npm test 执行全部单元测试,npm test -- --watch 进入监听模式。如需完整测试模式,资料指向 .github/instructions/angular-testing.instructions.md;NgRx Store 测试参见 .github/instructions/ngrx-signals-testing.instructions.md。
参考测试文件包括:组件测试 src/app/features/tasks/ui/task-card/task-card.spec.ts、服务测试 src/app/features/tasks/data/infrastructure/task-api.spec.ts、Store 测试 src/app/features/tasks/data/state/task-store.spec.ts。
适用场景:在带有上述目录结构和规范的 Angular 项目中使用 Vitest 编写组件、服务及状态管理相关单元测试。限制:资料未提供该技能的安装方式、独立运行入口、非 Angular 项目的适配说明,以及更多测试覆盖范围细节,这些内容暂未提供。