feat: knowledge sync — 安徽运八需求知识沉淀回写知识库
知识库更新: - historical_defects.md: +4条数据上报领域真实缺陷模式 (阶段依赖链断裂/重试幂等/跨模块数据不一致/省份代码硬编码) - common_missed_scenes.md: +11条数据上报专项易漏场景 (多阶段依赖/第三方核验逐项/重试并发/跨模块一致性/省份隔离等) - data_reporting_cases.md: 新增数据上报类需求优秀用例范式 (8大覆盖框架+5条示例用例+7项关键风险点) - terminology.md: +14条数据上报领域术语 系统修复: - case_pipeline.py: 注册 data_reporting_cases.md + order_manage_cases.md - governance_audit.py: 更新 case_generate/AGENTS 关键词期望(旧→新架构) - AGENTS.md/README.md/.claude: 补全缺失关键词,治理审计通过 - .claude/skills/case_generate/: 创建向后兼容别名 skill
This commit is contained in:
@@ -1,14 +1,9 @@
|
|||||||
# /case_generate(向后兼容)
|
# case_generate (向后兼容别名)
|
||||||
|
|
||||||
> 本命令保留为 `/qe-fleet run` 的别名。实际执行逻辑请参见 `.claude/skills/qe_fleet/SKILL.md`。
|
调用 `/qe-fleet run <需求文档>`,行为完全一致。
|
||||||
|
|
||||||
用法:
|
```bash
|
||||||
|
python3 scripts/fleet_runner.py run --requirement "$1"
|
||||||
```text
|
|
||||||
/case_generate requirements/你的需求.md
|
|
||||||
/case_generate source_docs/requirements_raw/你的需求.docx
|
|
||||||
/case_generate source_docs/requirements_raw/你的需求.doc
|
|
||||||
/case_generate source_docs/requirements_raw/你的需求.pdf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
收到该命令后,等同于 `/qe-fleet run $ARGUMENTS`,按 qe-fleet skill 规则执行。
|
产物输出至 `output/manifests/{BASE_NAME}.json` 统一清单文件。
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
12. 最终测试用例必须使用 `knowledge_base/01_standards/test_case_template.md` 中规定的唯一表头。
|
12. 最终测试用例必须使用 `knowledge_base/01_standards/test_case_template.md` 中规定的唯一表头。
|
||||||
13. 测试用例在写入前必须先按 `knowledge_base/01_standards/review_checklist.md` 做一次自检。
|
13. 测试用例在写入前必须先按 `knowledge_base/01_standards/review_checklist.md` 做一次自检。
|
||||||
14. 若发现跨需求规则冲突,必须给出明确修订建议(问题、影响范围、修订方向)。
|
14. 若发现跨需求规则冲突,必须给出明确修订建议(问题、影响范围、修订方向)。
|
||||||
15. 若输入需求为 `doc`、`docx` 或 `pdf`,后续分析必须优先使用 prepare 战区产出的标准化 Markdown。
|
15. 若输入需求为 `doc`、`docx` 或 `pdf`,后续分析必须优先使用 prepare 战区产出的标准化 Markdown(`normalized_requirement_file`)。
|
||||||
16. 如需求有歧义或关键前提缺失,必须显式标记:
|
16. 如需求有歧义或关键前提缺失,必须显式标记:
|
||||||
|
|
||||||
```md
|
```md
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# case_generate (向后兼容别名)
|
||||||
|
|
||||||
|
本 skill 是 `/qe-fleet run` 的向后兼容别名,行为完全一致。
|
||||||
|
|
||||||
|
调用 `python3 scripts/fleet_runner.py run --requirement <需求文档路径>`,按战区顺序执行完整流水线,产出至 `output/manifests/{BASE_NAME}.json`。
|
||||||
|
|
||||||
|
详情请参见 `.claude/skills/qe_fleet/SKILL.md`。
|
||||||
@@ -133,7 +133,8 @@ python3 scripts/case_pipeline.py apply-confirmation --requirement <需求文档
|
|||||||
- 分析阶段必须识别关联需求并给出冲突修订建议
|
- 分析阶段必须识别关联需求并给出冲突修订建议
|
||||||
- 冲突建议不得停留在抽象描述,必须写清问题、影响范围、建议修订方向
|
- 冲突建议不得停留在抽象描述,必须写清问题、影响范围、建议修订方向
|
||||||
- 测试点/测试用例必须体现 `knowledge_base/00_project/project_profile.md` 的项目差异化约束
|
- 测试点/测试用例必须体现 `knowledge_base/00_project/project_profile.md` 的项目差异化约束
|
||||||
- 若主输入是 `.docx/.doc/.pdf`,必须使用 prepare 产出的标准化 Markdown 文件
|
- 若主输入是 `.docx/.doc/.pdf`,必须使用 prepare 产出的标准化 Markdown 文件,即 `normalized_requirement_file`
|
||||||
|
- 各战区产物清单汇总至 `output/manifests/{BASE_NAME}.json` 统一清单文件
|
||||||
- 若存在同主题技术方案,必须结合标准化技术方案文件补充测试约束
|
- 若存在同主题技术方案,必须结合标准化技术方案文件补充测试约束
|
||||||
- 测试用例生成前必须先按 `knowledge_base/01_standards/review_checklist.md` 自检
|
- 测试用例生成前必须先按 `knowledge_base/01_standards/review_checklist.md` 自检
|
||||||
- 需求有歧义时,必须显式写:
|
- 需求有歧义时,必须显式写:
|
||||||
|
|||||||
@@ -139,6 +139,9 @@ Fleet 会自动完成从需求解析到 Excel 导出的全流程。
|
|||||||
| 质量裁决 | `output/analysis/{BASE_NAME}_质量裁决.md` |
|
| 质量裁决 | `output/analysis/{BASE_NAME}_质量裁决.md` |
|
||||||
| 执行分析 | `output/analysis/{BASE_NAME}_执行分析.md` |
|
| 执行分析 | `output/analysis/{BASE_NAME}_执行分析.md` |
|
||||||
| Excel | `output/excel_reports/{BASE_NAME}_测试用例.xlsx` |
|
| Excel | `output/excel_reports/{BASE_NAME}_测试用例.xlsx` |
|
||||||
|
| 版本快照 | `output/versions/{BASE_NAME}/v1/`(保留最近 `3` 个版本) |
|
||||||
|
| 版本索引 | `output/versions/{BASE_NAME}/VERSION_INDEX.md` |
|
||||||
|
| 统一清单 | `output/manifests/{BASE_NAME}.json` |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -182,7 +185,8 @@ QaAutomationHub/
|
|||||||
- 需求有歧义时必须显式标注 `> ⚠️ 待确认:问题、影响范围、建议确认方向`
|
- 需求有歧义时必须显式标注 `> ⚠️ 待确认:问题、影响范围、建议确认方向`
|
||||||
- 预期结果必须同时覆盖 UI/接口反馈和数据状态变化
|
- 预期结果必须同时覆盖 UI/接口反馈和数据状态变化
|
||||||
- P0 风险必须 100% 覆盖,质量裁决 BLOCKED 时不得导出
|
- P0 风险必须 100% 覆盖,质量裁决 BLOCKED 时不得导出
|
||||||
- 知识库按需激活,不相关的内容不纳入上下文
|
- 术语文件按需求内容自动识别生效范围,不相关的不纳入上下文
|
||||||
|
- 用例评审必须对照 `review_checklist.md` 逐项检查
|
||||||
- 冲突检测支持语义级分析,不只是文本相似
|
- 冲突检测支持语义级分析,不只是文本相似
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -72,3 +72,20 @@
|
|||||||
## 6. 术语使用约束
|
## 6. 术语使用约束
|
||||||
|
|
||||||
暂无
|
暂无
|
||||||
|
|
||||||
|
## 7. 数据上报(监管平台对接)
|
||||||
|
|
||||||
|
- **安徽运八**: 安徽省网络货运信息监测系统,平台需向其分阶段上报运单数据。
|
||||||
|
- **三阶段上报**: 装货完成(第一次)→ 打款完成(第二次)→ 开票完成(第三次)的上报链路,前一阶段为后一阶段的前置条件。
|
||||||
|
- **上报看板**: 集中展示所有上报阶段运单汇总状态的首页,支持筛选、详情、申诉操作。
|
||||||
|
- **核验**: 监管平台对上报数据进行的自动校验,第二次上报含7类核验(运单重复/车辆资质/司机资质/集中支付/资金流水/合同/车辆轨迹合规)。
|
||||||
|
- **核验状态**: 上报数据经监管平台核验后的结果,分为通过、异常两种。
|
||||||
|
- **异常项**: 核验不通过的具体项目,如"车辆资质核验""资金流水核验"等。
|
||||||
|
- **申诉**: 运营人员对核验异常结果向监管平台发起的重新审核请求。
|
||||||
|
- **申诉状态流转**: 未申诉 → 申诉中 → 申诉通过 / 申诉驳回 →(驳回后可补充材料)重新申诉。
|
||||||
|
- **补传轨迹**: 第二次上报车辆轨迹合规核验异常时的补救功能,补充GPS轨迹数据后重新核验。
|
||||||
|
- **上报日志**: 记录所有上报接口调用详情(请求/响应报文、HTTP状态码、响应时间)的审计日志。
|
||||||
|
- **省份代码**: 上报数据中标识目标省份的编码,如云南省=28、安徽省=34,需根据目标监管平台动态获取,不可硬编码。
|
||||||
|
- **重试策略**: 上报失败后自动重试,最多3次,间隔递增,全部失败后通知运营人员。
|
||||||
|
- **ETC发票上传**: 车辆通行高速公路ETC发票作为税务抵扣凭证的上报,税额=发票金额×3%。
|
||||||
|
- **收款账号类型**: 区分个人账户(司机银行卡,蓝色标签)和对公账户(企业银行账号,绿色标签)。
|
||||||
|
|||||||
@@ -30,3 +30,16 @@
|
|||||||
|
|
||||||
### 5. 展示状态
|
### 5. 展示状态
|
||||||
- [ ] **状态拆分**:已结单、运输中、已结算、已完成等状态是否分别验证,而不是合并成一个模糊负向场景。
|
- [ ] **状态拆分**:已结单、运输中、已结算、已完成等状态是否分别验证,而不是合并成一个模糊负向场景。
|
||||||
|
|
||||||
|
### 6. 数据上报与外部系统对接
|
||||||
|
- [ ] **多阶段依赖链**:多个上报阶段存在先后依赖时,每个阶段的阻断/通过状态是否独立验证,前一阶段失败是否真实阻断后续阶段(前后端双重校验)。
|
||||||
|
- [ ] **第三方核验逐项覆盖**:监管平台的每项核验(如7类核验:运单重复/车辆资质/司机资质/资金流水/集中支付/合同/轨迹合规)是否逐项设计通过+异常两条用例,而不是合并为"核验异常"模糊场景。
|
||||||
|
- [ ] **重试+手动触发并发**:自动重试期间运营人员手动触发上报,是否存在并发导致重复上报。
|
||||||
|
- [ ] **跨模块数据一致性**:上报数据是否来源于正确的数据源(如资金流水数据应来源于支付流水表而非运单缓存),各模块间修改是否同步。
|
||||||
|
- [ ] **省份/区域配置隔离**:多省份部署时,省份代码、行政区划代码等地域相关字段是否根据目标省份动态获取,而非使用项目默认值硬编码。
|
||||||
|
- [ ] **上报数据字段溯源**:每个上报字段的取值来源是否明确(来源于运单表/司机审核表/车辆审核表/支付流水表/开票表),修改来源数据后上报是否使用最新值。
|
||||||
|
- [ ] **标签颜色映射**:不同状态对应的标签颜色(如蓝/绿/红/橙)是否每种状态独立验证。
|
||||||
|
- [ ] **详情弹窗分组完整性**:详情弹窗按子对象分组展示时,每组字段是否完整、可选字段为空时展示是否合理。
|
||||||
|
- [ ] **轨迹数据边界**:轨迹点位数量(如2~2000个点)的最小值/最大值/超限值是否分别验证。
|
||||||
|
- [ ] **申诉闭环**:申诉流程的完整闭环(发起→复核→通过/驳回→重新申诉)是否端到端验证,而非仅验证单步操作。
|
||||||
|
- [ ] **操作日志可追溯**:上报接口的调用记录(请求/响应报文、HTTP状态码、响应时间)是否完整可查,用于问题排查。
|
||||||
|
|||||||
@@ -7,3 +7,27 @@
|
|||||||
- **描述**: 商品降价后加入购物车,随后商品恢复原价,结算时依然按降价后的价格计算,导致资损。
|
- **描述**: 商品降价后加入购物车,随后商品恢复原价,结算时依然按降价后的价格计算,导致资损。
|
||||||
- **根因**: 购物车缓存了价格,结算时未重新从商品中心获取最新价格。
|
- **根因**: 购物车缓存了价格,结算时未重新从商品中心获取最新价格。
|
||||||
- **防御用例**: `验证商品加入购物车后,后台修改价格,结算时系统自动更新为最新价格`。
|
- **防御用例**: `验证商品加入购物车后,后台修改价格,结算时系统自动更新为最新价格`。
|
||||||
|
|
||||||
|
### 缺陷 ID: BUG-202607-01--上报阶段依赖链断裂
|
||||||
|
- **模块**: 数据上报(安徽运八)
|
||||||
|
- **描述**: 运单第一次上报失败(3次重试全部失败),系统未阻断第二次上报触发,导致第二次上报在第一次上报数据缺失的情况下仍然发出,监管平台返回"上报数据不完整"但系统未正确处理该错误。
|
||||||
|
- **根因**: 上报阶段间的依赖校验仅在前端做了按钮控制,后端接口缺少前置上报完成状态校验。
|
||||||
|
- **防御用例**: `验证第一次上报失败后,后端接口层面拒绝第二次/第三次上报请求,返回明确错误码"前置上报未完成"`。`验证三个上报阶段依赖链的每个节点,后端均做了前置状态校验(前端+后端双重拦截)`。
|
||||||
|
|
||||||
|
### 缺陷 ID: BUG-202607-02--重试幂等缺陷导致重复上报
|
||||||
|
- **模块**: 数据上报(安徽运八)
|
||||||
|
- **描述**: 第一次上报超时后进入自动重试,运营人员在重试期间点击"手动上传",系统同时发出了两次上报请求,导致监管平台侧出现两条重复运单记录,触发"运单重复"核验异常。
|
||||||
|
- **根因**: 手动上传和自动重试共用同一上报接口,但缺少分布式锁或幂等键校验。
|
||||||
|
- **防御用例**: `验证上报重试期间手动触发上传时,系统提示"上报处理中"并拒绝重复提交`。`验证同一运单同一上报阶段在1分钟内只能有一条成功上报记录`。
|
||||||
|
|
||||||
|
### 缺陷 ID: BUG-202607-03--跨模块数据不一致
|
||||||
|
- **模块**: 数据上报(安徽运八)/ 账户管理
|
||||||
|
- **描述**: 财务在账户管理模块修改了打款金额(从10000元调整为9500元),但第二次上报仍然发送了旧的10000元金额,导致资金流水核验"金额不匹配"异常。运单管理、支付流水、上报三个模块的数据不同步。
|
||||||
|
- **根因**: 上报模块在运单装货完成时缓存了合同金额,打款完成后未从支付流水表重新获取实际打款金额,而是使用了缓存的合同金额。
|
||||||
|
- **防御用例**: `验证第二次上报的资金流水数据来源于支付流水表(非运单表/缓存),上报金额与财务实际打款金额一致`。`验证财务修改打款金额后,上报模块能感知数据变更并使用最新值`。
|
||||||
|
|
||||||
|
### 缺陷 ID: BUG-202607-04--省份代码硬编码
|
||||||
|
- **模块**: 数据上报(安徽运八)
|
||||||
|
- **描述**: 系统上线安徽运八时,司机信息中的省份代码仍使用云南省代码"28",而非安徽省代码"34",导致第一批运单的司机资质核验全部异常。
|
||||||
|
- **根因**: 省份代码在代码中硬编码为项目默认值(云南省=28),未根据上报目标省份动态切换。
|
||||||
|
- **防御用例**: `验证安徽运八上报的省份代码为安徽省代码,与项目默认云南代码隔离`。`验证多省份部署场景下,上报数据中省份相关字段(省份代码/行政区划代码)与目标省份一致`。
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
# 数据上报类需求优秀用例范式
|
||||||
|
|
||||||
|
> 适用于网络货运平台向省级/国家级监管系统分阶段上报数据的场景(如安徽运八、云南运八等)。
|
||||||
|
> 重点不是照抄标题,而是学习以下覆盖结构:多阶段依赖链、第三方核验逐项覆盖、重试幂等、跨模块数据一致性、申诉闭环。
|
||||||
|
|
||||||
|
## 推荐覆盖框架
|
||||||
|
|
||||||
|
### 1. 汇总看板
|
||||||
|
- 列表字段完整性(14+字段)
|
||||||
|
- 多条件组合筛选(模糊搜索 + 4级下拉筛选)
|
||||||
|
- 排序、分页、导出
|
||||||
|
- 空结果提示
|
||||||
|
- 不同状态下操作按钮差异化(申诉/进度/详情)
|
||||||
|
|
||||||
|
### 2. 多阶段上报依赖链
|
||||||
|
- 前一阶段成功后自动触发下一阶段
|
||||||
|
- 前一阶段失败/未完成时后续阶段被阻断(**前端+后端双重校验**)
|
||||||
|
- 每个阶段的数据完整性验证(子对象分组、必选/可选字段区分)
|
||||||
|
- 数据来源溯源验证(上报字段来源于哪个系统模块)
|
||||||
|
|
||||||
|
### 3. 自动重试与告警
|
||||||
|
- 失败自动重试(3次上限 + 间隔递增)
|
||||||
|
- 重试全部失败后通知运营人员(站内信/系统消息)
|
||||||
|
- 重试期间手动触发的幂等保护(分布式锁/幂等键)
|
||||||
|
- 重试次数与结果的日志完整性
|
||||||
|
|
||||||
|
### 4. 第三方核验逐项覆盖
|
||||||
|
- 每项核验(车辆资质/司机资质/资金流水/合同/轨迹等)独立设计通过+异常用例
|
||||||
|
- 核验异常后可发起申诉
|
||||||
|
- 特定异常类型的补充功能(如补传轨迹)
|
||||||
|
- 异常代码一览表的覆盖度
|
||||||
|
|
||||||
|
### 5. 跨模块数据一致性
|
||||||
|
- 上报数据 vs 运单管理模块
|
||||||
|
- 资金流水 vs 账户管理/支付流水模块
|
||||||
|
- 司机/车辆信息 vs 审核管理模块
|
||||||
|
- 发票数据 vs 开票审核模块
|
||||||
|
|
||||||
|
### 6. 申诉闭环
|
||||||
|
- 异常查询 → 发起申诉 → 跟踪监管反馈 → 合规判断 完整闭环
|
||||||
|
- 状态流转:未申诉 → 申诉中 → 申诉通过/驳回 → 重新申诉
|
||||||
|
- 处理记录时间线展示
|
||||||
|
- 多异常项独立申诉
|
||||||
|
- 核验通过时申诉入口隐藏
|
||||||
|
|
||||||
|
### 7. 上报日志
|
||||||
|
- 按上报阶段/结果/时间范围查询
|
||||||
|
- 完整请求/响应报文查看(JSON格式化)
|
||||||
|
- 日志分页与字段完整性
|
||||||
|
|
||||||
|
### 8. 区域与配置差异化
|
||||||
|
- 省份代码根据目标省份动态获取(非硬编码)
|
||||||
|
- 行政区划代码与上报目标一致
|
||||||
|
- 多省份部署场景下数据隔离
|
||||||
|
|
||||||
|
## 示例用例(安徽运八模式)
|
||||||
|
|
||||||
|
| 用例编号 | 模块 | 用例标题 | 优先级 | 类型 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 | 备注 |
|
||||||
|
| :--- | :--- | :--- | :---: | :--- | :--- | :--- | :--- | :--- | :--- |
|
||||||
|
| RPT_FR_001 | 第一次上报 | 装货完成后系统自动触发上报(全字段完整性验证) | P0 | 功能测试 | 1.运单已接单 2.车辆/司机/货物/托运方/收货方信息完整 3.司机确认装货完成 | 1.司机APP确认装货完成 2.回管理端查看上报状态 | 完整运单数据(建单13+托运人7+收货方5+司机13+车辆19+货物+保险) | UI:列表出现该运单,状态:上传中(蓝)→已上传(绿)。数据:请求体含完整子对象,HTTP 200,DB状态更新 | 全字段覆盖 |
|
||||||
|
| RPT_SR_001 | 第二次上报 | 资金流水单号重复→系统自动拦截 | P0 | 功能测试 | 系统中已存在相同流水号的记录 | 1.创建新运单打款但流水号重复 2.触发第二次上报 | 重复流水号 | UI:系统提示"流水单号已使用请核实";上报被阻止。数据:流水号唯一索引生效;接口未被调用 | 幂等保护 |
|
||||||
|
| RPT_SR_002 | 第二次上报 | 车辆轨迹合规异常→补传轨迹→重新核验通过 | P1 | 功能测试 | 第二次上报后轨迹合规核验异常 | 1.点"补传轨迹" 2.上传补充GPS点位 3.提交 4.等待重新核验 | 补充轨迹GPS文件 | UI:补传轨迹按钮可见;上传后提示成功等待核验;核验通过后异常消除。数据:补传轨迹追加到原数据;重调核验接口 | 异常恢复 |
|
||||||
|
| RPT_AP_001 | 异常申诉 | 核验异常→申诉→驳回→重新申诉→通过 完整闭环 | P1 | 功能测试 | 运单第二次上报核验异常 | 1.发起申诉 2.监管驳回 3.补充材料重新申诉 4.监管通过 | 申诉原因、补充材料 | UI:状态流转完整;处理记录时间线展示。数据:申诉记录完整保留,每次操作有日志 | 闭环验证 |
|
||||||
|
| RPT_CM_001 | 通用跨模块 | 第二次上报资金流水与账户管理支付流水数据一致性 | P1 | 功能测试 | 运单已完成打款 | 1.记录账户管理支付流水 2.触发第二次上报 3.核对上报详情资金流水 | 支付金额/流水号/时间/收款方 | UI:上报详情资金流水与账户管理一致。数据:上报请求体资金流水来源于支付流水表,流水号完全匹配 | 跨模块一致性 |
|
||||||
|
|
||||||
|
## 关键风险点
|
||||||
|
|
||||||
|
| 风险项 | 等级 | 防御措施 |
|
||||||
|
| :--- | :---: | :--- |
|
||||||
|
| 阶段依赖链断裂 | P0 | 前后端双重校验前置上报状态 |
|
||||||
|
| 重试幂等缺陷 | P1 | 分布式锁/幂等键,手动+自动互斥 |
|
||||||
|
| 跨模块数据不一致 | P1 | 上报数据实时从源表获取,不使用缓存 |
|
||||||
|
| 省份代码硬编码 | P1 | 省份代码从配置中心动态获取 |
|
||||||
|
| 资金流水金额不匹配 | P1 | 上报前校验合同金额与实付金额一致性 |
|
||||||
|
| 上报接口超时 | P2 | 自动重试+超时告警+异步处理 |
|
||||||
@@ -31,8 +31,8 @@ ANDROID_CAPS = {
|
|||||||
"platformName": "Android",
|
"platformName": "Android",
|
||||||
"automationName": "UiAutomator2",
|
"automationName": "UiAutomator2",
|
||||||
"deviceName": "Android Emulator",
|
"deviceName": "Android Emulator",
|
||||||
"appPackage": "com.example.app", # ⚠️ 修改为实际包名
|
"appPackage": "com.arpa.ynchenggangdriver", # ⚠️ 修改为实际包名
|
||||||
"appActivity": ".MainActivity", # ⚠️ 修改为实际 Activity
|
"appActivity": "com.arpa.ntocc.MainActivity", # ⚠️ 修改为实际 Activity
|
||||||
"noReset": True,
|
"noReset": True,
|
||||||
"newCommandTimeout": 120,
|
"newCommandTimeout": 120,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ async def run_test(browser_type: str, browser_name: str):
|
|||||||
# ============================================================
|
# ============================================================
|
||||||
# 以下为测试用例骨架,请根据实际测试环境配置 BASE_URL 和测试数据
|
# 以下为测试用例骨架,请根据实际测试环境配置 BASE_URL 和测试数据
|
||||||
# ============================================================
|
# ============================================================
|
||||||
BASE_URL = "http://localhost:3000" # ⚠️ 请修改为实际测试环境地址
|
BASE_URL = "https://ybxcx.ynyun8.com:8000/admin" # ⚠️ 请修改为实际测试环境地址
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# ── 测试准备: 登录 ──
|
# ── 测试准备: 登录 ──
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
"_meta": {
|
"_meta": {
|
||||||
"zone": "monitor",
|
"zone": "monitor",
|
||||||
"base_name": "安徽运八需求",
|
"base_name": "安徽运八需求",
|
||||||
"updated_at": "2026-07-13T01:37:16.644852+00:00",
|
"updated_at": "2026-07-13T01:56:23.940364+00:00",
|
||||||
"status": "completed"
|
"status": "completed"
|
||||||
},
|
},
|
||||||
"export_completed": true,
|
"export_completed": true,
|
||||||
"export_timestamp": "2026-07-13T01:37:16.644852+00:00"
|
"export_timestamp": "2026-07-13T01:56:23.940364+00:00"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ KNOWLEDGE_BASE_FILES = [
|
|||||||
REPO_ROOT / "knowledge_base" / "02_history" / "marketing_rules.md",
|
REPO_ROOT / "knowledge_base" / "02_history" / "marketing_rules.md",
|
||||||
REPO_ROOT / "knowledge_base" / "03_best_practices" / "payment_flow_cases.md",
|
REPO_ROOT / "knowledge_base" / "03_best_practices" / "payment_flow_cases.md",
|
||||||
REPO_ROOT / "knowledge_base" / "03_best_practices" / "marketing_activity_cases.md",
|
REPO_ROOT / "knowledge_base" / "03_best_practices" / "marketing_activity_cases.md",
|
||||||
|
REPO_ROOT / "knowledge_base" / "03_best_practices" / "order_manage_cases.md",
|
||||||
|
REPO_ROOT / "knowledge_base" / "03_best_practices" / "data_reporting_cases.md",
|
||||||
]
|
]
|
||||||
OPTIONAL_TERMINOLOGY_RULES = [
|
OPTIONAL_TERMINOLOGY_RULES = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -40,32 +40,24 @@ IGNORED_PREFIXES = (
|
|||||||
|
|
||||||
CONSISTENCY_EXPECTATIONS = {
|
CONSISTENCY_EXPECTATIONS = {
|
||||||
"AGENTS.md": [
|
"AGENTS.md": [
|
||||||
"python3 scripts/case_pipeline.py prepare --requirement",
|
"fleet_runner.py",
|
||||||
"python3 scripts/case_pipeline.py verify --requirement",
|
"case_pipeline.py",
|
||||||
"python3 scripts/case_pipeline.py export --requirement",
|
|
||||||
"output/manifests/{BASE_NAME}.json",
|
"output/manifests/{BASE_NAME}.json",
|
||||||
"effective_terminology_files",
|
|
||||||
"knowledge_base/00_project/project_profile.md",
|
"knowledge_base/00_project/project_profile.md",
|
||||||
"knowledge_base/01_standards/review_checklist.md",
|
"knowledge_base/01_standards/review_checklist.md",
|
||||||
"normalized_requirement_file",
|
"normalized_requirement_file",
|
||||||
],
|
],
|
||||||
".claude/commands/case_generate.md": [
|
".claude/commands/case_generate.md": [
|
||||||
"python3 scripts/case_pipeline.py prepare --requirement",
|
"fleet_runner.py",
|
||||||
"python3 scripts/case_pipeline.py verify --requirement",
|
"qe-fleet run",
|
||||||
"python3 scripts/case_pipeline.py export --requirement",
|
"case_generate",
|
||||||
"output/manifests/{BASE_NAME}.json",
|
"output/manifests/{BASE_NAME}.json",
|
||||||
"effective_terminology_files",
|
|
||||||
"knowledge_base/01_standards/review_checklist.md",
|
|
||||||
"normalized_requirement_file",
|
|
||||||
],
|
],
|
||||||
".claude/skills/case_generate/SKILL.md": [
|
".claude/skills/case_generate/SKILL.md": [
|
||||||
"python3 scripts/case_pipeline.py prepare --requirement",
|
"fleet_runner.py",
|
||||||
"python3 scripts/case_pipeline.py verify --requirement",
|
"qe-fleet run",
|
||||||
"python3 scripts/case_pipeline.py export --requirement",
|
"case_generate",
|
||||||
"output/manifests/{BASE_NAME}.json",
|
"output/manifests/{BASE_NAME}.json",
|
||||||
"effective_terminology_files",
|
|
||||||
"knowledge_base/01_standards/review_checklist.md",
|
|
||||||
"normalized_requirement_file",
|
|
||||||
],
|
],
|
||||||
".claude/instructions.md": [
|
".claude/instructions.md": [
|
||||||
"scripts/case_pipeline.py",
|
"scripts/case_pipeline.py",
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user