df6bf94b0b
- 在 Api 结构中新增 lastResp 字段以存储最近请求的响应 - 添加 Verify 方法,支持自定义校验函数并返回 ApiCase 构建器 - 新增 Resp 方法,获取最近一次请求的响应以便于断言 - 在 TestCollector 中添加 Visited 字段,记录已调用的路径 - 更新 GenerateSwagger 方法,支持部分运行时保留未运行端点的已有数据 - 完善文档,增加用例编写范式和示例,提升测试框架的可用性与易用性
53 lines
2.7 KiB
Markdown
53 lines
2.7 KiB
Markdown
---
|
||
name: 整理推荐写法风格
|
||
overview: 将全文散落的"推荐/不推荐"对比块统一清理,文档全程只陈述正确做法,在「用例编写范式」末尾新增「简写支持说明」小节,介绍框架支持的简写行为,并以一句忠告收尾。
|
||
todos:
|
||
- id: clean-error-case-block
|
||
content: 错误用例代码块:去掉 `// 推荐:` 前缀和整个「不推荐」代码段(第 246-256 行)
|
||
status: completed
|
||
- id: replace-bad-vs-good
|
||
content: 「不好的写法 vs 推荐的写法」整节替换为「简写支持说明」,说明框架支持的简写行为+场景,以忠告句收尾(第 412-458 行)
|
||
status: completed
|
||
- id: clean-apiresponse-labels
|
||
content: ApiResponse 去掉「推荐方式」标签,「兼容方式」改为自然描述(第 595-613 行)
|
||
status: completed
|
||
isProject: false
|
||
---
|
||
|
||
# 整理推荐写法风格
|
||
|
||
目标文件:[docs/Testing_API测试框架.md](docs/Testing_API测试框架.md)
|
||
|
||
## 三处改动
|
||
|
||
### 1. 第 246-256 行 — 错误用例编写规范代码块
|
||
|
||
当前:代码块里有 `// 推荐:...` 和 `// 不推荐:...` 两段
|
||
|
||
改后:只保留完整写法的代码,去掉 `// 推荐:` 注释前缀和整个"不推荐"代码段。
|
||
|
||
```go
|
||
a.Post("未登录访问", 2, "请先登录")
|
||
a.JSON(Map{"quantity": 3}).Post("缺少商品ID", 3, "请选择商品")
|
||
a.JSON(Map{"goods_id": int64(1)}).Post("缺少数量", 3, "请填写购买数量")
|
||
a.JSON(Map{"goods_id": int64(999)}).Post("商品不存在", 4, "商品不存在")
|
||
```
|
||
|
||
### 2. 第 412-458 行 — 「不好的写法 vs 推荐的写法」整节
|
||
|
||
当前:三组 bad/good 对比块(省略 msg、只校验 status、硬编码 ID)
|
||
|
||
改后:整节替换为「简写支持说明」,结构如下:
|
||
|
||
- **标题**:`### 简写支持说明`
|
||
- **说明框架支持的三种简写**,每种说明行为(不是批评,是告知机制):
|
||
- 省略第三参数:`a.Post("请先登录", 2)` — desc 自动作为期望 msg,适合 desc 与 msg 完全一致的场景
|
||
- 省略 expect:`a.Post("创建成功", 0)` — 仅断言 status=0,不校验 result 内容或数据库状态
|
||
- 省略 Verify:适合纯查询、无副作用的接口,只需验证格式即可
|
||
- **忠告**(一行):`> 对于涉及数据写入、状态变更、副作用的接口,省略过程校验等于充分不测试。`
|
||
|
||
### 3. 第 595-613 行 — ApiResponse「推荐方式 / 兼容方式」标签
|
||
|
||
当前:用「推荐方式」和「兼容方式」两个标签
|
||
|
||
改后:去掉「推荐方式 —」标签,直接展示 Verify 用法;「兼容方式」改为:`也可以通过返回值在外部断言(适合不需要 DB 校验的简单场景):` |