Python unittest是标准库单元测试框架,需继承TestCase类、test_开头方法为用例;提供assertEquals等断言;setUp/tearDown用于准备与清理;支持脚本运行、-m unittest命令及-v详细模式。

Python自带的unittest模块是标准库中最常用的单元测试框架,语法清晰、结构规范,适合初学者快速上手。它借鉴了Java的JUnit设计思想,以类和方法为组织单位,强调测试用例的独立性与可重复执行性。
一、基本结构:测试类与测试方法
所有测试类必须继承unittest.TestCase,每个以test_开头的方法会被自动识别为一个测试用例。方法名不能带参数(除self外),也不能有返回值。
示例:
import unittestclass TestMath(unittest.TestCase): def test_add(self): self.assertEqual(2 + 3, 5)
def test_subtract(self): self.assertEqual(5 - 2, 3)if name == 'main': unittest.main()
二、常用断言方法
断言是验证预期结果是否成立的核心手段。unittest提供了丰富且语义明确的方法:
立即学习“Python免费学习笔记(深入)”;
汽车导购门户网为齐博CMS V7版的基础改编而成的,程序为整站程序,自带3000多数据,安装好在后台恢复数据就可以直接使用哦。 安装前,请必须确认/data/ /cache/目录可写 然后在地址栏目输入安装地址 http://xxx.com/install.php 一步步的安装. blog 博客 wn 万能文章 count 流量统计 exam 考试系统 form 万能表单
-
assertEqual(a, b):检查a == b -
assertTrue(x)/assertFalse(x):检查布尔值 -
assertIn(a, b):检查a in b -
assertRaises(ErrorType, callable, *args):检查是否抛出指定异常 -
assertAlmostEqual(a, b):用于浮点数近似比较
三、测试前准备与清理(setUp / tearDown)
如果多个测试方法需要共用资源(如临时文件、数据库连接、实例对象),可用setUp()在每个测试方法运行前自动调用,tearDown()在运行后自动清理。
它们不参与测试执行顺序控制,也不被当作测试用例识别。
def setUp(self):
self.temp_list = [1, 2, 3]
def tearDown(self):
self.temp_list.clear() # 清理不影响其他测试
四、运行测试的几种方式
- 直接运行脚本:
python test_file.py - 命令行运行模块:
python -m unittest test_file(不带.py) - 运行单个测试方法:
python -m unittest test_file.TestMath.test_add - 启用详细输出:
python -m unittest -v test_file
推荐使用-v参数,能清晰看到每个测试方法的名称和结果。









