自动化测试策略:单元测试、集成测试、E2E

自动化测试策略:单元测试、集成测试、E2E

自动化测试策略:单元测试、集成测试、E2E

导语

前端测试不是”写越多越好”,也不是”只写 E2E 就够了”。Kent C. Dodds 的测试金字塔对前端依然适用,但 2026 年的工具链已经变了。本文给你一套适合现代前端团队的测试策略。

测试金字塔在 2026

层级 占比 工具 运行时机
单元测试 ~70% Vitest / Jest 每个 PR
集成测试 ~20% Vitest + Testing Library 每个 PR
E2E 测试 ~10% Playwright / Cypress 合并到 main 前

单元测试:测什么,不测什么

:纯函数、工具函数、状态机、复杂算法。

不测:React 组件内部实现细节、第三方库行为、CSS 样式。

一个判断标准:如果测试代码和实现代码耦合太紧,重构时测试一定会坏,那这个测试就没写对。

集成测试:前端真正的价值层

集成测试是前端最该投入的地方——测组件组合、用户交互、数据流。推荐用 Testing Library 的思想:

“测用户能看到什么,能点什么,而不是测组件内部状态。”

// 好:从用户视角出发
await user.click(screen.getByRole('button', { name: /提交/ }));
expect(await screen.findByText(/成功/)).toBeInTheDocument();

// 坏:耦合实现细节
expect(component.state.isSubmitting).toBe(false);

E2E:只覆盖关键路径

E2E 测试慢、贵、容易 flaky。只用来覆盖:

  • 登录 → 核心功能 → 付款 的关键路径
  • 多步骤表单的完整流程
  • 跨页面联动的关键场景

AI 辅助测试的落地

2026 年最务实的做法:用 AI 生成 E2E 测试骨架,人工补全断言逻辑。Playwright 的代码录制 + AI 补全已经能覆盖 60% 的场景。

结论

前端测试策略的核心不是”全都要”,而是单元测试保逻辑、集成测试保交互、E2E 保关键路径。每个 PR 跑前两层,每天跑一次 E2E。把 AI 用来加速重复用例生成,人工精力留给测试策略设计。

评论区

0 条评论

登录后可评论。

查看完整榜单
查看完整榜单
查看完整榜单