From fd13dad2b055cf357806b3791ea43bf8047e49f9 Mon Sep 17 00:00:00 2001 From: laily Date: Sun, 20 Sep 2026 14:47:30 +0800 Subject: [PATCH] fix(tester): default local host to loopback --- skills/tester/README.md | 4 +++- skills/tester/SKILL.md | 9 ++++++--- skills/tester/references/schema.md | 6 ++++-- skills/tester/templates/local.yaml.example | 4 ++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/skills/tester/README.md b/skills/tester/README.md index ce132e7..43767a4 100644 --- a/skills/tester/README.md +++ b/skills/tester/README.md @@ -14,7 +14,9 @@ ## 使用前准备 - 目录在项目根的 `.pouch/tester/`。没有就说「初始化 tester」。 -- 跑真实环境前,复制 `.pouch/tester/local.yaml.example` 为 `local.yaml`,填 `HOST`。也可以用环境变量 `HX_TEST_HOST`。 +- 跑真实环境前,复制 `.pouch/tester/local.yaml.example` 为 `local.yaml`;模板默认 + `HOST: "127.0.0.1"`。如果目标不是本机,显式改成目标地址。也可以用环境变量 + `HX_TEST_HOST` 覆盖。 - 会动硬件、会改数据的用例带风险级别(`readonly` / `mutating` / `destructive`)。默认只跑最低档 `readonly`。要跑更高风险,需要你明确说,例如「风险到 mutating」;碰哪个子系统另由 `gate`(如 hardware / weld)控制。 ## 使用示例 diff --git a/skills/tester/SKILL.md b/skills/tester/SKILL.md index 4215d28..762d589 100644 --- a/skills/tester/SKILL.md +++ b/skills/tester/SKILL.md @@ -3,7 +3,8 @@ name: tester description: >- 维护并执行项目黑盒测试目录(.pouch/tester):列出/增改用例,按分类或 id 跑脚本、浏览器或移动模拟器。触发词:/tester、列出测试、完善测试用例、 - 按分类测、跑 smoke、现场复测。默认风险最低档,不猜 HOST。 + 按分类测、跑 smoke、现场复测。默认风险最低档;local 配置的 HOST 默认是 + 127.0.0.1。 --- # Tester:项目测试目录 @@ -29,7 +30,9 @@ python3 /scripts/catalog.py /scripts/catalog.py /templates/` 拷 `catalog.yaml` 和 `local.yaml.example`。 -3. 不写 `local.yaml` 的 HOST。不猜地址。 +3. 从模板生成的 `local.yaml` 默认使用 `HOST: "127.0.0.1"`;不要根据项目内容猜远程地址。 4. 跑 `catalog.py validate --root `。无用例是「部分完成」,不是失败。 ```text diff --git a/skills/tester/references/schema.md b/skills/tester/references/schema.md index 7107a33..4591412 100644 --- a/skills/tester/references/schema.md +++ b/skills/tester/references/schema.md @@ -6,7 +6,7 @@ ``` catalog.yaml 分类、风险阶梯、session、变量 -local.yaml.example HOST 与授权开关模板 +local.yaml.example HOST 与授权开关模板(默认 127.0.0.1) local.yaml 本机覆盖,不提交 cases/.yaml 一个分类一个文件(执行源) cases.csv 给人看的扁平清单;generate_cases_csv.py 读 cases/*.yaml,并拼最近一次运行的 last_* 列 @@ -29,7 +29,9 @@ runs/*.csv 同一次运行的成绩单;generate_run_csv.py 从对 | `run_together` | 可选。成组执行:`[{ids: [TC-…, TC-…], continue_on_fail: true}]`。点到组内任一条,`select` 会按 `ids` 顺序把整组扩进命中列表。`continue_on_fail: true` 时组内前一条产品 fail 仍跑后一条(返回/收尾)。一个 id 只能属于一组。 | | `status_probe` | 可选。顶层默认值,一个**分类级前置条件**:`{url, stop_if: {字段: [命中值]}}`。运行前请求 `url`,响应命中任一 `stop_if` 条件即视为前置不满足。分类项可用同名键覆盖:缺省继承顶层、`false` 关闭、mapping 整体替换。命中或不可达只影响用它的分类,不是产品失败。业界对应 pytest 的 session fixture / Robot 的 Suite Setup。`select` 会按分类返回解析后的生效值,`url` 已用 `vars` 展开 | -`local.yaml` 与环境变量覆盖 `HOST` 和授权开关。查找顺序:环境变量 > `local.yaml` > `catalog.yaml` 的 vars。也认 `HX_TEST_HOST` 作为 `HOST`。 +`local.yaml` 与环境变量覆盖 `HOST` 和授权开关。模板中的 `HOST` 默认是 +`127.0.0.1`;远程目标必须显式覆盖。查找顺序:环境变量 > `local.yaml` > +`catalog.yaml` 的 vars。也认 `HX_TEST_HOST` 作为 `HOST`。 ## 一条用例 diff --git a/skills/tester/templates/local.yaml.example b/skills/tester/templates/local.yaml.example index d689299..254a1e7 100644 --- a/skills/tester/templates/local.yaml.example +++ b/skills/tester/templates/local.yaml.example @@ -1,4 +1,4 @@ -# 复制为 .pouch/tester/local.yaml 后填写。不要提交 local.yaml。 -HOST: "" +# 复制为 .pouch/tester/local.yaml 后按目标环境调整。不要提交 local.yaml。 +HOST: "127.0.0.1" AUTHORIZE_MUTATING: false AUTHORIZE_DESTRUCTIVE: false