44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# 设置检查测试用例
|
||
|
||
本目录包含执行在实际API调用之前的设置检查测试用例。
|
||
|
||
## 必需请求头Schema验证
|
||
|
||
`required_headers_check.py` 实现了一个测试用例,用于验证API规范中是否包含所有必需的请求头:
|
||
|
||
- X-Tenant-ID (也接受 tenant-id 作为变体)
|
||
- X-Data-Domain (也接受 data-domain 作为变体)
|
||
- Authorization
|
||
|
||
该测试用例不会发送实际的API请求,只会验证API规范的定义是否符合要求。
|
||
|
||
### 工作原理
|
||
|
||
1. 测试用例检查每个API端点的规范定义
|
||
2. 验证是否包含所有必需的请求头
|
||
3. 验证这些请求头是否被标记为必需 (required="1")
|
||
4. 生成详细的验证结果,包括哪些请求头缺失或未标记为必需
|
||
|
||
### 使用方法
|
||
|
||
这个测试用例会自动被测试框架发现并应用到所有API端点。由于其`execution_order = 0`设置,它会在其他测试用例之前执行。
|
||
|
||
如果发现API规范中缺少必需的请求头,测试会失败并提供详细的错误信息,指出哪些请求头缺失或未标记为必需。
|
||
|
||
### 示例结果
|
||
|
||
成功情况:
|
||
```
|
||
✅ 测试通过: 所有必需的请求头都已正确定义
|
||
```
|
||
|
||
失败情况:
|
||
```
|
||
❌ 测试失败: 缺少必需的请求头 X-Data-Domain
|
||
❌ 测试失败: 请求头 tenant-id 存在但未标记为必需
|
||
```
|
||
|
||
### 注意事项
|
||
|
||
1. 此测试用例接受请求头名称的不同变体(如`X-Tenant-ID`和`tenant-id`)
|
||
2. 如果API规范设计时有意不包含某些请求头,可能需要修改测试用例的`required_headers`配置 |