Python教程28:单元测试基础
Python教程28:单元测试基础 “测试不是万能的,但没有测试是万万不能的。” 代码写完了但不敢重构?担心修改一处就影响全局?单元测试能给你信心。今天我们学习Python的unittest模块,掌握自动化测试的基础。 1. 什么是单元测试 测试的重要性 为什么需要测试: 验证代码的正确性 防止回归(修改代码导致原有功能失效) 提高代码质量 便于重构(有测试保障) 作为文档(测试展示如何使用函数) 单元测试(Unit Test): 测试最小可测试单元(函数、方法、类) 独立运行,互不影响 快速执行 自动化 测试示例 待测试的代码: 1# calculator.py 2def add(a, b): 3 """加法""" 4 return a + b 5 6def divide(a, b): 7 """除法""" 8 if b == 0: 9 raise ValueError("除数不能为零") 10 return a / b 手动测试(不推荐): 1# 手动测试,繁琐且不可重复 2print(add(2, 3)) # 应该是5 3print(divide(10, 2)) # 应该是5 4# 每次修改代码都要手动运行... 自动化测试(推荐): 1# test_calculator.py 2import unittest 3from calculator import add, divide 4 5class TestCalculator(unittest.TestCase): 6 """ 7 测试用例类 8 - 继承unittest.TestCase 9 - 测试方法以test_开头 10 - 使用断言验证结果 11 """ 12 13 def test_add(self): 14 """测试加法""" 15 self.assertEqual(add(2, 3), 5) 16 self.assertEqual(add(-1, 1), 0) 17 18 def test_divide(self): 19 """测试除法""" 20 self.assertEqual(divide(10, 2), 5) 21 22 with self.assertRaises(ValueError): 23 divide(10, 0) 24 25if __name__ == "__main__": 26 unittest.main() 运行测试: ...