Python深入浅出:从入门到工程实践10

第 10 章:测试基础与 pytest

学习目标

  • 理解测试金字塔与测试策略,建立正确的测试思维
  • 掌握 pytest 核心语法:测试发现、断言、fixture、参数化
  • 能够使用 mock 隔离外部依赖,编写可靠的单元测试
  • 配置 pytest-cov 测量覆盖率,理解覆盖率的局限性
  • 建立 CI 中的自动化测试流程

10.1 为什么需要测试

10.1.1 测试是安全带,不是负担

不写测试:写完代码直接上线 → 出了 Bug 再修(代价巨大) 写测试:每写一段代码都验证 → 出问题立刻发现(代价小,信心足)

类比理解:测试就像系安全带。不系安全带开车,99% 的时间没事;但那 1% 的事故会要命。写测试也是一样——平时觉得多余,但当重构或上线出问题时,你会发现测试是你最大的安全保障。

10.1.2 测试金字塔

/\ / \ E2E 测试(端到端) / \ 数量少,成本高,速度慢 /------\ / \ 集成测试 / \ 数量中等,验证组件协作