用途:面向 React + GraphQL + Prisma 技术栈的测试模式指南,版本 1.0,依赖 React Testing Library、Jest 与 Prisma。目标是让测试关注行为而非实现,从而在重构后仍可靠、可运行。
主要能力:给出核心原则(测试行为不测实现、测试金字塔、快速反馈、确定性、隔离)与金字塔结构:单元约 70%、集成约 25%、E2E 约 5%。覆盖 React 组件测试(Testing Library 查询优先级 getByRole > getByLabelText > getByText > getByAltText > getByTestId)、Apollo/GraphQL 测试(用 renderWithApollo 包装 MockedProvider,测加载、成功与错误)、自定义 Hook 测试(renderHook 与 act)、Service/Resolver 测试(用 jest-mock-extended 模拟 Prisma,测正常路径、错误与边界)、集成测试(真实测试数据库、每次重置、按依赖倒序清理)。同时列出文件组织方式(测试与源码同目录或 tests/)、常见反模式及修复方式,以及组件、Apollo、服务、集成测试的检查清单。
使用方式:按资料所述在 React 组件中用 Testing Library 查询与 userEvent 交互,Apollo 测试用 MockedProvider 包裹,Service 测试用 jest-mock-extended 模拟 Prisma,集成测试使用真实数据库并在用例间重置。更多完整示例引用于 assets/test-examples.md(本次资料未提供其内容)。
适用场景:需要为 React + GraphQL + Prisma 应用建立可信测试套件、减少脆弱测试与随机失败、平衡单元/集成/E2E 的团队。
限制:仅描述测试策略与模式,未提供具体安装命令、依赖版本、配置代码或价格信息;复杂 E2E 建议考虑 Playwright 或 Cypress,视觉回归用 Storybook + Chromatic,API 契约测试用 Pact,性能测试用 k6 或 Artillery,无障碍测试用 axe-core。