compliance/ppt.md
2025-06-01 00:38:36 +08:00

48 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BaseAPITestCase 核心方法能力一览
## 1. 生命周期钩子方法(可重写)
| 方法名 | 能力描述 |
| ---------------------------- | ---------------------------------------------------------------- |
| `__init__` | 初始化测试用例,加载接口 schema、参数、上下文等 |
| `generate_path_params` | 生成/修改路径参数(如 `/user/{id}` 中的 `id`),支持动态构造 |
| `generate_query_params` | 生成/修改 query 参数,支持边界值、缺失、类型异常等场景 |
| `generate_headers` | 生成/修改请求头,支持鉴权、格式异常等测试 |
| `generate_request_body` | 生成/修改请求体,支持字段缺失、类型不符等复杂场景 |
| `modify_request_url` | 动态修改请求 URL适用于特殊路径拼接等需求 |
| `validate_request_url` | 请求发送前校验 URL 合规性 |
| `validate_request_headers` | 请求发送前校验头部数据 |
| `validate_request_body` | 请求发送前校验请求体 |
| `validate_response` | 响应校验,断言状态码、响应体、业务逻辑等 |
| `check_performance` | 性能校验,检查响应耗时等 |
## 2. 辅助工具方法(极大简化用例开发)
| 方法名 | 能力描述 |
| ------------------------------------- | ------------------------------------------------------------- |
| `_get_resolved_request_body_schema` | 获取并解析当前接口的请求体 schema自动处理 $ref |
| `_find_removable_field_path` | 查找可被移除的必填字段路径,便于生成“缺失字段”场景 |
| `_remove_value_at_path` | 按路径从数据中移除指定字段,支持嵌套结构 |
| `_find_simple_type_field_in_schema` | 查找 schema 中第一个简单类型字段,便于类型异常测试 |
| `_find_first_simple_type_parameter` | 查找第一个简单类型的参数(如 query/header便于参数异常测试 |
| `_find_required_parameter_name` | 查找第一个必填参数名 |
| `expect_error_response` | 标准化校验错误响应(状态码、错误码等),减少样板代码 |
| `validate_data_against_schema` | 用 schema 校验任意数据结构,便于响应体合规性断言 |
| `passed` / `failed` | 快速生成验证结果对象,便于断言输出 |
## 3. 日志与上下文
| 方法名/属性 | 能力描述 |
| ------------------------ | -------------------------------- |
| `self.logger` | 统一日志输出,便于调试与结果追踪 |
| `self.endpoint_spec` | 当前接口的详细规范,已处理 $ref |
| `self.global_api_spec` | 全局 API 规范,便于跨接口引用 |
---
> **说明**
>
> - 生命周期钩子方法由框架自动调用,用户可按需重写,实现灵活的请求构造与验证。
> - 辅助工具方法极大简化了 schema 处理、字段查找、数据操作等底层细节,让用例开发者专注于业务逻辑。
> - 通过这些方法,测试用例可轻松实现“字段缺失、类型异常、参数边界、响应断言、性能校验”等多种自动化测试能力。