本技能用于在项目中使用 Vitest 与 Testing Library 编写前端测试,适用场景包括创建测试、编写 spec、mock 与设置测试覆盖率。
运行方式:pnpm test 运行全部测试;pnpm test:watch 进入监听模式;pnpm test:coverage 生成覆盖率报告。
主要能力:可用 render、screen 等 API 渲染组件并断言 DOM;使用 @testing-library/user-event 模拟用户交互;使用 vi.fn、vi.mock、vi.spyOn 进行 mock 与打桩;使用 findByText、waitFor 处理异步内容。查询优先级建议为 getByRole、getByLabelText、getByText,getByTestId 仅作最后手段。
文档还给出 TanStack Query、TanStack Form、Router 上下文以及服务端函数 mock 的测试写法示例,并列出常见错误与正确模式,例如异步内容应使用 findBy 或 waitFor、测试行为而非实现细节、始终先调用 userEvent.setup()、每个测试创建新的 QueryClient 并将 retry 设为 false、在 beforeEach 中清理 mock。
限制与归属:官方文本未提供,以上内容仅依据所给资料整理;未提及具体版本、性能数据或收费信息。