用途:为 Python 项目提供测试策略与模式指导,覆盖 pytest、fixture、mock、参数化与测试驱动开发(TDD),用于编写单元测试、搭建测试套件、实现 TDD、编写 API 与服务集成测试、mock 外部依赖、测试异步与并发代码、在 CI/CD 中持续测试、属性测试、数据库测试及调试失败测试。
主要能力:区分单元、集成、功能、性能测试;采用 AAA(Arrange-Act-Assert)结构;关注覆盖率与测试隔离;提供测试目录组织建议(conftest.py 共享 fixture,按 test_unit、test_integration、test_e2e 分层);推荐 test_<unit><scenario><expected> 命名;演示用 Mock side_effect 验证重试逻辑;用 freezegun 的 freeze_time 控制时间;使用 pytest 标记(slow、integration、skip、skipif、xfail)筛选用例;用 pytest-cov 生成覆盖率报告。
使用方式:基础用例直接写 assert 并以 pytest test_example.py 运行;覆盖率可执行 pip install pytest-cov,再运行 pytest --cov=myapp tests/,可加 --cov-report=html、--cov-fail-under=80、--cov-report=term-missing;标记筛选如 pytest -m slow、pytest -m "not slow"、pytest -m integration。更详细的模式见 references/details.md,异步测试、monkeypatch、属性测试、数据库测试、CI/CD 与配置见 references/advanced-patterns.md。
适用场景:Python 全栈开发中的测试实践与代码架构、性能优化建议。
限制:需要具体项目上下文与技术栈信息;不处理非技术业务决策,仅提供指导而非具体代码实现;避免过度设计、忽视性能与安全、覆盖不足及文档不同步。内容源自 wshobson/agents(MIT License, Copyright (c) 2024 Seth Hobson),使用与再分发须遵守 MIT 条款并保留版权声明。