@antprofuse/saddle-islands-backend-test 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +17 -5
- package/package.json +1 -1
package/SKILL.md
CHANGED
|
@@ -9,6 +9,12 @@ description: 基于 Islands Spec、正式physical输入、backend-contract、DB
|
|
|
9
9
|
|
|
10
10
|
测试目标是后端交付制品:真实公开 HTTP 入口 → 真实 Saddle 业务进程 → 设计要求的隔离数据库及外部 gRPC Mock → 完整后端契约响应与副作用。不能以直接调用 handler、Mock 数据库函数或替代 backend 验收业务。
|
|
11
11
|
|
|
12
|
+
## 本轮输入与交付定位
|
|
13
|
+
|
|
14
|
+
任务指定的业务输入目录是Owner预先冻结的正式输入包。先读其中 `input.json`,按其索引读取 `source/` 的Spec、视觉及physical输入,以及 `generated/` 的目录、协议和预检资料;只消费本阶段需要的内容。来源和工具版本按包内身份与执行环境索引核对,不用工作分支中另一版本Spec覆盖该包。缺少必要项时反馈明确缺口,不自行重做上游生成或猜测位置。
|
|
15
|
+
|
|
16
|
+
工作分支包含仓内输入与本阶段正式交付物;按本Skill职责理解并增量修订,Git成果提交并推送至指定分支。任务执行记录写入指定本地目录,仅供Owner检查点审核,普通执行阶段默认不读取该记录区。正式设计和测试交接以工作分支及明确的内容输入为准,不从过程报告拼接需求。执行环境索引定位实际Skill、工具、依赖及本阶段的门禁scope;缺失入口不得凭包名假定已注入。统一协同细则读取本轮workflow的 `references/task-template-contract.md`。
|
|
17
|
+
|
|
12
18
|
## 起点与必读
|
|
13
19
|
|
|
14
20
|
沿用用户指定的当前分支及业务范围。最小输入为 Spec 项目(含 Prototype 和正式测试责任)、正式physical输入、`code/backend-contract/`、`code/db/`、本轮指定的上游生成协议位置,交付默认 `code/backend-tests/`,均允许用户指定位置。不要求 backend 先实现;产品可执行制品位置是运行参数,不是预期来源。
|
|
@@ -26,13 +32,13 @@ description: 基于 Islands Spec、正式physical输入、backend-contract、DB
|
|
|
26
32
|
3. 以 backend-contract 定义完整请求与成功/失败断言,以共享 proto 定义期望外呼实参、次数和答复。类型、presence、金额、时间、对象归属及错误语义有依据才写;缺失设计返回对应层,不能随意补错误码、舍入或重试规则。
|
|
27
33
|
4. 建设并实测隔离实例、DDL/映射/seed、真实外部 gRPC Mock、公开启动/HTTP runner、审计与清理。测试建设拥有这些设施,不给 backend 研发留下待实现的测试 adapter。
|
|
28
34
|
5. 用设施正反例验证错误请求、漏调用、错误响应断言、写入审计、超时及清理确实会失败。设施探针不算业务场景,也不以构造一个符合答案的假产品替代真实验收。
|
|
29
|
-
6.
|
|
35
|
+
6. 测试研发以编译、静态检查和设施正负控制验证测试本身,必要时运行不依赖业务产品的设施自检,验证请求构造、断言及隔离清理机制。产品尚未实现或有缺陷时业务失败是合法结果,不要求产品全绿,也不以首次建测试为由默认全量真实业务执行。业务测试执行、产品修复与复验交产品研发;测试阶段承担全量真实业务执行须有用户明确指定的任务。记录实际验证范围及失败阶段;修设施不改业务预期、不越权修改产品代码。
|
|
30
36
|
|
|
31
37
|
## 组织与交付
|
|
32
38
|
|
|
33
39
|
`cases/` 保存稳定场景 ID、独立夹具、预期和公开动作序列;独立工具集的后端模块提供公开进程、HTTP、严格外部 gRPC、类型断言、日志关联、执行证据、清理及通用设施自检;项目 `harness/` 只保存业务契约映射、字段匹配、受控场景动作、覆盖支持映射及薄接入;提供单一覆盖索引和可列举的 runner。可以按实际责任分文件,必须能从来源责任反查每个场景,不能把共享循环或设施测试数冒充业务覆盖。
|
|
34
40
|
|
|
35
|
-
|
|
41
|
+
交付公共设施自检、列举、按范围及单场景运行入口,明确制品、配置和仓库外输出目录。CoTask内的工具与依赖由Owner统一准备维护,执行节点消费已校验入口,不自行安装或升级。工具选择可以沿用已验证的 Node.js runner、gRPC 和 MySQL 客户端,不强制后端使用 Playwright,也不绑定某业务的端口、包名、数据库版本或用例数量。
|
|
36
42
|
|
|
37
43
|
代码交付包含测试源码、可维护夹具、配置生成及覆盖关联;报告、实际数据、SQL/请求证据与日志写仓库外本地目录,不打包、不入 Git。只用合成测试身份与凭据,证据不记录数据库密码等 secret。失败和中断也保留证据且关闭自己启动的资源。
|
|
38
44
|
|
|
@@ -42,8 +48,8 @@ description: 基于 Islands Spec、正式physical输入、backend-contract、DB
|
|
|
42
48
|
|
|
43
49
|
## 验收与停止边界
|
|
44
50
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
51
|
+
- 测试准备完整:来源义务落到可执行断言,定义编译、静态检查和设施正反例已完成,接入配置与依赖闭包齐备。此交付不依赖业务产品已实现;真实产品接入由产品研发阶段执行验证,若发现测试设施缺陷,返回测试建设修复。不能把脚本可发现等同设施完整。
|
|
52
|
+
- 后端黑盒通过(产品研发阶段的结果,不是测试研发交付门槛):本次真实产品已执行约定验收范围且通过,无该范围内遗漏与未解释 skip;响应、外呼和数据库责任共同满足。Rust 单测、Gate、编译、fixture 自检分别报告,不计入该通过数。
|
|
47
53
|
- 真实联调通过:还需真实 profusecontract 组件/宿主及实际下游证据。此项不属于 Mock 后端测试的前置,Mock 通过也不证明此项。
|
|
48
54
|
|
|
49
55
|
输入已明确而工具无法执行,归设施/框架接入问题;Spec 本身矛盾、正式绑定缺事实、协议不足分别反馈。独立部分继续推进,不以默认成功掩盖未定条件。严格复核合同已有含义,只有确实缺少决策才问用户。
|
|
@@ -77,4 +83,10 @@ description: 基于 Islands Spec、正式physical输入、backend-contract、DB
|
|
|
77
83
|
|
|
78
84
|
## 统一交付门禁
|
|
79
85
|
|
|
80
|
-
|
|
86
|
+
交付前必须使用本轮指定的公开工具入口执行交付门禁;门禁未通过,不得作成功交付。保留实际结果到任务执行记录目录,失败按责任修复后重新执行。具体检查项及参数由冻结工具版本提供,见 `tools/docs/iteration.md`,任务不重复列举或自行裁剪检查项。
|
|
87
|
+
|
|
88
|
+
## 迭代范围与无变更交付
|
|
89
|
+
|
|
90
|
+
检查范围与检查方式分开决定:测试研发根据业务迭代自主选择全量或增量的目录遍历、定义审查、编译及静态检查,全量静态检查不等于全量业务运行。本阶段不以真实产品业务执行作为覆盖建设的默认步骤;必要的轻量验证使用不依赖产品制品的设施自检。产品研发负责真实业务测试执行与修复。
|
|
91
|
+
|
|
92
|
+
阶段适用于新业务研发、已有业务的小范围变更和无业务变化的复核。按本轮目标与输入差异决定工作量;节点存在不等于必须修改代码、重建设计或重写测试,也不自动要求全量验证。优先复用仍有效成果和证据,对变更及其影响范围研发、验证。判定无需修改时交付依据、对应版本及必要检查结果,不能仅凭文件已存在认定完成;用户明确要求完整复核或全量测试时按该范围执行。无Git变更仍执行阶段交付门禁,基线与候选可以相同。
|