SuperAPI AI 工具集

python-testing

编程与开发

查看项目

更新于 10-15 21:10

技能介绍

用途:为 Python 应用提供系统化测试策略,基于 pytest 与 TDD 方法。适用于编写新 Python 代码(遵循 TDD)、设计测试套件、审查测试覆盖率、搭建测试基础设施,以及需要 fixture、mock 或参数化指导时。

核心方法:TDD 循环为 RED(先写失败测试)→ GREEN(写最小实现使测试通过)→ REFACTOR(在测试保持通过的前提下重构)。

主要能力:fixture 提供测试的 setup/teardown、数据共享与作用域(function、module、session);参数化用 @pytest.mark.parametrize 以多组输入运行测试;mock 与 patch 用 unittest.mock 模拟外部依赖和 API 调用;标记与测试选择支持自定义标记(如 @pytest.mark.slow)与选择性执行;异步测试借助 pytest-asyncio;测试组织涉及目录结构、conftest.py 与相关测试分组。

常用模式:pytest.raises() 测试预期异常;@pytest.fixture() 创建可复用 fixture;@pytest.mark.parametrize() 多输入运行;@pytest.mark.slow 标记慢测试;pytest -m "not slow" 跳过慢测试;@patch() 模拟函数与类;tmp_path fixture 提供临时目录;pytest --cov 生成覆盖率报告。

运行命令:pytest 运行全部测试;pytest --cov=mypackage --cov-report=html 生成覆盖率报告;pytest -m "not slow" 只跑快测试;pytest -v 详细输出;pytest -x 首次失败即停;pytest --lf 重跑上次失败测试。

最佳实践:遵循 TDD、每个测试只测一件事、使用描述性测试名、用 fixture 消除重复、mock 外部依赖、目标覆盖率 80% 以上、保持测试快速。避免测试实现细节、在测试中使用复杂条件、测试间共享状态、在测试中捕获异常(应使用 pytest.raises)、编写过于脆弱的测试。

限制:资料未提供具体安装命令、版本要求、收费信息或平台支持范围,这些事实暂未提供。