本章要回答的三个问题:单元测试和集成测试到底差在哪几个关键维度,为什么这些差异决定了一家公司的测试体感?同一段需求,我该用哪一层灯去照它?这两层灯是互相浪费还是互为保险?
前面两章各修各的灯,那只是单项体检和拼装会诊的两种手艺。可现实中你面对的不是"要不要单测"或"要不要集成测试",而是"这个功能该在哪层补测试、补多少、零散还是整体"。答错了很痛:有人攒了一万条单元测试,接口一改全崩,才发现大量测试在验证实现细节而非行为;有人把什么都塞进集成测试,一个用例跑三十秒,团队改个字段就集体喝咖啡等构建。这一章就是急诊科的分诊台:把两种灯放到同一张表上比,告诉你差异到底埋在哪几个旋钮上,再给一套"按代码距离和风险来选层"的判断框架,最后讲清楚二者如何像锁和钥匙一样互补。
| 节号 | 回答的问题 | 关键产出 |
|---|---|---|
| 4.1 关键差异速查 | 两盏灯差在哪个旋钮 | 多维差异对照表 |
| 4.2 如何选择 | 同一需求该用哪层照 | 代码距离-风险判定矩阵 |
| 4.3 互补协同 | 怎么让两盏灯互为保险 | 分层防线布线图 |
第 4 章告诉你灯怎么分工,第 5 章再往上走一层:不再手动开灯,而是让灯在自己会亮(TDD 让红灯先行)、用语义更清晰的 BDD 描述行为、让代码天生好测(可测试性设计)、把所有灯接进 CI 流水线自动拦截,最后用覆盖率这把尺子审视"灯全绿 ≈ 健康吗"。第 4 章是战术,第 5 章是战略。
这张图把 4.2 节的两步判定浓缩成一次公开分诊:先量距离,再看风险尖点,两个问号各走一头,最终灯落的位置就有了根据。后面 4.1 的对照表、4.2 的矩阵、4.3 的布线图,都是绕着这张分诊图转的三个具体切口。把这张图放进脑子,第 4 章的三节就合成了一条可随时调用的决策线——以后每接到一段新逻辑,都能顺着这张图快速走一遍,得出"该归哪层、该下多重"的结论,而不必每次从头翻菜谱。