测试与调试
2026/1/31大约 1 分钟
测试与调试
学习 Python 测试框架、调试技巧和性能分析。
学习内容
单元测试
unittest、pytest、测试夹具、参数化测试
调试技巧
pdb、breakpoint、IDE 调试、日志记录
性能分析
cProfile、timeit、memory_profiler
代码质量
pylint、flake8、mypy、black
测试金字塔
/\
/E2E\ 端到端测试(少量)
/------\
/ 集成 \ 集成测试(适量)
/----------\
/ 单元测试 \ 单元测试(大量)
/--------------\调试工具对比
| 工具 | 用途 | 优点 |
|---|---|---|
| pdb | 命令行调试 | 无需IDE,服务器调试 |
| breakpoint() | 断点调试 | Python 3.7+ 内置 |
| logging | 日志记录 | 生产环境追踪 |
| pdb++ | 增强pdb | 语法高亮、tab补全 |
| ipdb | IPython集成 | 更好的交互体验 |
性能优化建议
优化原则
- 先测量,后优化
- 算法优先:优化算法比优化代码更有效
- 使用内置函数:用 C 实现更快
- 避免全局变量:局部变量访问更快
- 使用生成器:节省内存
过早优化
"过早优化是万恶之源" —— Donald Knuth
只在确定性能瓶颈后进行优化。