测试,是重构与迭代的安全网

没有测试的改动像走钢丝。一份好的单测,让你改代码时敢下手、回归时能放心,长期收益远超写测试的时间成本。

70%关键路径覆盖
3层测试金字塔
10x回归成本节省
单元测试实战
单元测试

测试金字塔:单测、集成、E2E

金字塔底层是单元测试(快、多、覆盖逻辑),中间是集成测试(验证模块协作),顶层是 E2E(验证完整用户流程,慢而少)。

比例失衡是常见问题:全写 E2E 又慢又脆,没有单测则逻辑无保障。合理配比才是健康的测试体系。

  • 单测:逻辑与边界覆盖
  • 集成:模块协作验证
  • E2E:核心流程回归
  • 覆盖率是参考不是目标

核心价值:测试是文档与安全网,让改动有底气、回归有保障。

测试用例设计

写出有价值的用例。

🎯

正常路径

主要功能正确工作。

🔀

边界情况

空值、极值、临界值。

⚠️

异常路径

错误处理与降级。

🛡️

安全场景

越权、非法输入。

🔗

交互依赖

mock 依赖、隔离测试。

📉

性能关键

高频路径的性能断言。

建立测试体系

从零到可持续的测试。

  1. 01

    定测试策略

    明确哪些是关键路径、用什么层级测,合理配比。

  2. 02

    搭建框架

    接入测试框架(Jest 等),配好覆盖率与 CI 联动。

  3. 03

    先测核心

    优先覆盖核心逻辑与高频路径,逐步扩充。

  4. 04

    CI 集成

    让测试进 CI,提交即跑,拦截回归。

测试层级对比

金字塔各层的特点。

层级速度数量覆盖
单元测试快多逻辑细节
集成测试中中模块协作
E2E 测试慢少完整流程

单元测试常见问题

覆盖率要到多少?

不要唯指标论。优先覆盖核心与高风险逻辑,关键模块 70%+,其余按价值取舍。

测试老要改很烦?

测试耦合实现细节会脆弱。测行为而非实现,抽离测试替身,让测试跟随需求而非代码。

TDD 值不值得学?

TDD(先测后写)适合逻辑密集场景,能倒逼设计。不是所有场景都适合,可作为工具掌握。

前端组件怎么测?

组件测试测行为与渲染结果,用 Testing Library 这类贴近用户视角的库,避免测实现细节。

测试不会写或写不好?

测试不会写或写不好?

把你的组件或函数发到问答区,我们帮你设计有价值的测试用例。