用途:为前端与 Node.js 项目提供系统化的测试策略参考,围绕 Vitest、Jest 和 Testing Library 组织内容,帮助建立从单元到集成的测试体系。
主要能力:
- 测试金字塔:区分单元测试(多)、集成测试(中)、E2E 测试(少),并说明各自测试对象。
- Vitest 配置:给出 vitest.config.ts 示例,包含 globals、jsdom 环境、setupFiles 与覆盖率 reporter 配置。
- 单元测试:以 formatCurrency 为例演示 describe/it/expect 写法,覆盖默认值、零值、其他货币与负数。
- React 组件测试:使用 @testing-library/react 的 render、screen、fireEvent 与 vi.fn 验证渲染、点击回调及禁用状态。
- Hook 测试:使用 renderHook 与 act 测试 useCounter 的初始值、递增与重置。
- Mock:演示 API、模块(如 next/navigation)与定时器(vi.useFakeTimers)的模拟方式。
- 异步测试:使用 waitFor 处理加载完成与错误状态。
- 集成测试:用 supertest 测试 POST /api/users,含数据库迁移与销毁、状态码与响应体断言。
- 测试组织:建议 tests/ 下划分 unit、integration、e2e、fixtures、mocks 与 setup.ts。
- 最佳实践:AAA 模式、单一断言、测试行为而非实现、描述性命名、隔离测试、只 mock 外部依赖、追求 80%+ 覆盖率并优先关键路径。
使用方式:资料以配置与代码示例为主,需结合项目实际安装并配置 Vitest 或 Jest 及 Testing Library,按示例编写测试文件。
适用场景:React/TypeScript 前端项目、Node.js API 项目的测试设计与落地。
限制:资料未提供具体安装命令、版本要求、收费信息或平台支持范围,暂未提供。