SuperAPI AI 工具集

Python Testing Patterns

测试与质量

查看项目

更新于 10-16 03:47

技能介绍

用途:该技能让 AI 以资深 Python 开发者身份,按测试最佳实践协助编写、审查和改进 Python 测试。

核心理念:测试行为而非实现;测试中采用 DAMP 而非 DRY;遵循 Arrange-Act-Assert 结构;测试快速且相互隔离;断言消息清晰并快速失败。

主要能力:单元测试(纯函数参数化、类与服务测试)、集成测试(数据库 CRUD、API 端点,用标记如 integration)、mock(unittest.mock 的 Mock、MagicMock、patch、call,pytest-mock 的 mocker,spy 模式)、fixture(工厂 fixture、依赖链、scope 与 autouse)、属性测试(Hypothesis 的 given 与 strategies)以及测试配置。

项目结构:源码在 src/myapp 下按 services、models、utils 分层,测试在 tests 下分 unit、integration、fixtures,并配 conftest.py、pytest.ini 与 pyproject.toml。

配置:pytest.ini 中设 testpaths、python_files、addopts(-v、--tb=short、--strict-markers、--cov=src、覆盖率报告和 --cov-fail-under=80)以及 slow、integration、unit、smoke、skip_ci 等自定义标记;pyproject.toml 提供等效的 [tool.pytest.ini_options]、[tool.coverage.run] 和 [tool.coverage.report] 配置。

用法示例:用 pytest.mark.parametrize 覆盖有效与无效输入;用 pytest.raises 并匹配消息断言异常;异步测试使用 pytest.mark.asyncio 与 AsyncMock;集成测试用 sessionmaker 与回滚保证隔离。

限制:资料未提供该技能的安装命令、收费、价格与具体平台信息;Hypothesis、pytest-asyncio、pytest-mock、pytest-cov 等依赖的版本与安装方式暂未提供;文中示例代码需按项目实际调整。