用途:这是一份 Python 测试实践指南,帮助开发者用 pytest 编写健壮测试,覆盖单元测试、集成测试、功能测试与性能测试等类型,并支持测试驱动开发(TDD)与 CI/CD 中的持续测试。
主要能力:介绍 AAA(Arrange-Act-Assert)测试结构、测试覆盖率与测试隔离原则;给出基础 pytest 用例写法(assert、pytest.raises 断言异常);fixture 的 setup/teardown 与 session、module 作用域;pytest.mark.parametrize 参数化与 pytest.param 自定义 ID;用 unittest.mock 的 Mock、patch、MagicMock 模拟外部依赖;异步代码测试(pytest.mark.asyncio、asyncio.gather);monkeypatch 修改环境变量与对象属性;tmp_path 临时文件目录;conftest.py 共享 fixture 与 autouse fixture;以及基于 hypothesis 的属性测试。
使用方式:按示例编写 test_*.py 文件,用 pytest test_example.py 运行;在 conftest.py 中定义跨文件共享的 fixture;用 @patch 装饰器或 with patch(...) 上下文管理器替换依赖;用 monkeypatch.setenv/delenv/setattr 控制环境;用 tmp_path 读写临时文件。
适用场景:为 Python 函数与类写单元测试、为 API 与服务写集成测试、模拟外部服务、测试异步与并发操作、测试数据库操作、调试失败用例。
限制:资料未提供安装命令、版本要求、收费信息或性能数据;属性测试依赖 hypothesis,异步测试依赖相应插件,具体安装与配置暂未提供。