用途:为 MikoPBX REST API 端点生成完整的 Python pytest 测试,覆盖参数组合、schema 校验与边界场景。
主要能力:分析 DataStructure.php 中的参数定义(类型、必填/可选、默认值、枚举、正则 pattern、min/maxLength),据此生成 CRUD 操作测试、正向与负向用例、参数校验测试、边界条件测试、schema 验证测试,并提供认证与请求头 fixture、带错误信息的断言。测试按类组织,如创建、获取、更新、删除、Schema 验证、边界用例等测试类。
使用方式:先定位目标端点的 DataStructure.php,例如: find /Users/nb/PhpstormProjects/mikopbx/Core/src/PBXCoreREST/Lib -name "DataStructure.php" | grep -i "{resource}" 再分析参数定义,以 test-template.py 为模板替换 {ResourceName} 与 {resource-path},填入 payload,最后运行: pytest tests/api/test_extensions_api.py -v
启用 schema 严格校验需在容器内设置 SCHEMA_VALIDATION_STRICT=1,例如: docker exec mikopbx_container sh -c 'export SCHEMA_VALIDATION_STRICT=1'
适用场景:为新端点创建测试、补充现有端点的覆盖、生成参数组合与边界/负向测试、增加响应 schema 校验。
限制与注意:测试依赖 pytest、requests 与运行中的 MikoPBX Docker 容器;认证使用 /pbxcore/api/v3/auth/login 的 Bearer token;HTTPS 使用 verify=False;默认 Base URL 为 https://mikopbx-php83.localhost:8445;schema 验证仅在 SCHEMA_VALIDATION_STRICT=1 时生效;修改 PHP 代码需重启容器;测试应相互独立并在 teardown 中清理创建的资源。资料未提供具体收费、价格与版本兼容信息。