用途:为 Python 项目建立完整测试策略,涵盖 pytest 使用、fixture、mock、参数化与测试驱动开发(TDD)。适合编写单元测试、搭建测试套件与基础设施、用 TDD 开发、为 API 与服务写集成测试、mock 外部依赖、测试异步与并发代码、接入 CI/CD 持续测试、属性测试、数据库测试及调试失败用例。
主要能力与概念:区分单元、集成、功能与性能测试;采用 AAA(Arrange-Act-Assert)结构;关注覆盖率与测试隔离(测试相互独立、无共享状态、自行清理)。测试组织建议 tests/ 下分 test_unit、test_integration、test_e2e,并用 conftest.py 存放共享 fixture。命名常见模式 test_<unit><scenario><expected>。
常用写法:基本断言用 assert 并以 pytest 命令运行;用 @pytest.mark.slow / integration / skip / skipif / xfail 标记与筛选,如 pytest -m slow 或 pytest -m "not slow";用 unittest.mock 的 Mock 与 side_effect 验证重试与重试上限;借助 freezegun 的 @freeze_time 控制时间并可用 move_to 推进时间;覆盖率用 pip install pytest-cov 后运行 pytest --cov=myapp tests/,可加 --cov-report=html、--cov-fail-under=80、--cov-report=term-missing。
限制与说明:资料未提供该技能的安装或调用方式、收费与平台信息,暂未提供。更多高级模式(异步测试、monkeypatch、属性测试、数据库测试、CI/CD 集成与配置)见 references/advanced-patterns.md,详细模式见 references/details.md。