这是 CocoBrew 六阶段工作流中的第 4 阶段(Test,测试)技能,用于在构建阶段完成后对规范要求进行可验证的测试与记录。
用途 在 .cocoplus 已初始化且 build 阶段已完成的前提下,依据 .cocoplus/lifecycle/spec.md 中的成功标准(Success Criterion)与交付物(Deliverable)生成并执行测试,产出一份可追溯的测试结果文档。
前置检查 先验证当前目录存在 .cocoplus/ 目录,否则输出未初始化提示并停止。随后读取 .cocoplus/lifecycle/meta.json,检查 phases_completed 是否包含 build,若不包含则要求先运行 $build。
主要能力
- 生成测试用例:读取 spec.md,为每条成功标准与交付物生成测试用例,每个用例包含 ID、描述、测试方式(SQL 查询 / 文件存在性检查 / 质量检查)与预期结果。
- 执行测试:对每个用例运行测试,SQL 验证通过 SnowflakeSqlExecute,文件检查通过 Bash,质量检查通过 quality-advisor,并记录 PASS 或 FAIL 与实际结果。
- 处理失败与恢复:若测试因环境配置、权限、缺少元数据或服务瞬时行为而失败,需先明确记录恢复步骤再重跑,不得隐藏失败尝试;恢复后的测试只有在最终断言通过时才算 PASS,且原始失败必须记录在 Recoveries 部分。
- 写入结果:生成 .cocoplus/lifecycle/test.md,包含日期、阶段、阶段 ID、汇总(运行数、通过数、失败数)、逐条测试用例、失败详情与恢复记录。
- 更新状态与提交:将 test 加入 meta.json 的 phases_completed,向 AGENTS.md 追加阶段摘要(不超过 200 行),并执行 git add 与 git commit(提交信息为 test: test execution and validation)。
使用方式 该技能以提示词流程形式执行,步骤包括前置校验、生成用例、执行测试、写结果文件、更新状态、Git 提交,最后输出测试阶段完成信息并提示进入 $review。流程中列有反合理化条款,明确禁止跳过“明显存在”的交付物测试、在有失败时标记阶段完成、不读 spec.md 就生成用例、以及把恢复的失败合并为干净通过。
适用场景 适用于使用 CocoBrew 工作流、且要求测试结果与规范成功标准一一对应并可审计的项目阶段。
限制 依赖 .cocoplus 目录结构与 meta.json 状态文件;要求 build 阶段已完成;SQL 验证依赖 Snowflake 环境。具体支持范围、权限要求与运行环境细节暂未提供。