集成与端到端测试
# 集成与端到端测试
核心命题:单元测试保证零件正确,集成测试保证拼起来能跑,E2E测试保证用户能用。
# 01. 三层测试分工
| 层 | 测什么 | 速度 | 稳定性 |
|---|---|---|---|
| 单元 | 函数/类逻辑 | 毫秒 | 极高 |
| 集成 | 组件协作(DB/API/MQ) | 秒 | 高 |
| E2E | 用户完整流程 | 分钟 | 中(易flake) |
# 02. 集成测试策略
- 数据库:用 Testcontainers 启真实 DB,不用 H2
- API:Spring MockMvc / Supertest / pytest + requests
- 消息队列:嵌入式 Kafka / Testcontainers
- 契约测试:Pact —— 消费者驱动,保证上下游接口兼容
# 03. E2E测试选型
| 工具 | 平台 | 特点 |
|---|---|---|
| Playwright | Web | 快、稳定、多浏览器 |
| Cypress | Web | 开发体验好 |
| Appium | Mobile | 跨平台真机 |
| Espresso | Android | Google 官方 |
| XCUITest | iOS | Apple 官方 |
# 04. E2E 防 Flake 清单
- 不用固定 sleep,用 waitFor
- 测试独立运行,不依赖执行顺序
- 用 test id 而不是 CSS class 定位元素
- 失败自动截图 + 重试
# 05. 一句话总结
测试金字塔不是教条——关键路径多测 E2E,边界条件多测单元,性价比最高的永远在中间层。
上次更新: 2026/06/28, 17:55:19