====== 第四十一章:测试与调试 ====== ===== 本章目标 ===== 完成本章学习后,你将能够: * 编写单元测试 * 使用pytest框架 * 使用调试器 * 进行性能分析 ===== unittest模块 ===== import unittest def add(a, b): return a + b class TestMath(unittest.TestCase): def test_add(self): self.assertEqual(add(2, 3), 5) self.assertEqual(add(-1, 1), 0) def test_add_type_error(self): with self.assertRaises(TypeError): add("a", 1) if __name__ == '__main__': unittest.main() ===== pytest框架 ===== # test_sample.py import pytest def add(x, y): return x + y def test_add(): assert add(1, 2) == 3 assert add(-1, 1) == 0 @pytest.mark.parametrize("x,y,expected", [ (1, 2, 3), (0, 0, 0), (-1, 1, 0), ]) def test_add_param(x, y, expected): assert add(x, y) == expected ===== 调试技巧 ===== # 使用pdb import pdb; pdb.set_trace() # 常用命令 # n - 下一行 # s - 进入函数 # c - 继续 # p variable - 打印变量 # q - 退出 # Python 3.7+ breakpoint() breakpoint() ===== 本章练习 ===== 1. 为项目编写测试 2. 使用mock模拟依赖 3. 性能分析和优化 下一章:[[python_course:chapter42|第四十二章:项目结构]]