SuperAPI AI 工具集

python-testing

编程与开发

查看项目

更新于 10-16 07:22

技能介绍

用途:面向 Python 项目的综合测试实践指南,用于编写新代码、设计测试套件、审查覆盖率及搭建测试基础设施时参考。核心方法遵循 TDD 循环:先写失败测试(红)、写最少量代码使其通过(绿)、在测试通过前提下重构。

主要能力:涵盖 pytest 基础写法与断言;用 pytest.raises 测试异常及其消息、属性;用 @pytest.fixture 创建可复用夹具,支持 setup/teardown(yield)、函数/模块/会话作用域、参数化夹具、autouse 与 conftest.py 共享;用 @pytest.mark.parametrize 以多组输入或 ids 运行同一测试;用自定义标记(slow、integration、unit)选择测试;用 unittest.mock 的 patch/Mock 模拟函数、返回值、异常、上下文管理器、autospec 与属性;用 pytest-asyncio 测试异步函数、异步夹具与断言 assert_awaited_once;用 tmp_path、tmpdir 处理文件副作用;给出 tests 目录结构、测试类组织与 pytest.ini、pyproject.toml 配置示例。

必要用法:安装 pytest 后运行 pytest 执行全部测试;覆盖率命令为 pytest --cov=mypackage --cov-report=term-missing --cov-report=html;按标记筛选如 pytest -m "not slow";其他常用参数包括 -v、-x、--maxfail=3、--lf、-k、--pdb。

适用场景:单元测试、集成测试、端到端测试,以及 API 端点(FastAPI/Flask)、数据库操作、类方法与异步代码测试。

限制与建议:目标覆盖率为 80% 以上、关键路径要求 100%,此为标准建议而非强制指标;应测试行为而非实现细节,避免测试间共享状态、避免捕获异常与 print,保持测试快速与独立。资料未提供具体安装命令、版本要求或与其他框架的集成细节。