1. pytest 测试框架概述
pytest 是 Python 生态中最流行的测试框架之一,它以简洁的语法和强大的功能著称。不同于 Python 自带的 unittest 框架,pytest 不需要继承任何基类,只需要编写普通的函数就能实现测试功能。我在多个大型 Python 项目中都采用了 pytest 作为主要测试工具,它的灵活性和扩展性让测试工作变得高效而愉快。
pytest 的核心优势在于:
- 自动发现测试用例(无需繁琐的配置)
- 丰富的断言机制(告别繁琐的 assertEqual)
- 完善的插件系统(超过 800 个社区插件)
- 清晰的测试报告(直观展示失败原因)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境安装与基础配置
2.1 安装 pytest
推荐使用 pip 进行安装:
bash复制pip install pytest
安装完成后可以验证版本:
bash复制pytest --version
注意:建议在虚拟环境中安装,避免污染全局 Python 环境。可以使用 venv 或 conda 创建隔离环境。
2.2 项目结构规范
合理的项目结构能帮助 pytest 自动发现测试用例。我推荐以下结构:
code复制project/
├── src/ # 源代码目录
│ └── module.py
└── tests/ # 测试目录
├── __init__.py # 使 tests 成为 Python 包
└── test_module.py
关键规则:
- 测试文件应以
test_开头(如 test_*.py) - 测试函数/方法应以
test_开头 - 测试类应以
Test开头
3. 编写第一个测试用例
3.1 基本测试函数
创建一个简单的测试文件 tests/test_sample.py:
python复制def test_addition():
assert 1 + 1 == 2
def test_uppercase():
assert "hello".upper() == "HELLO"
运行测试:
bash复制pytest tests
