unit-test-remote
SKILL.md
远程单元测试 Skill (unit-test-remote)
使用范围(Usage Scope)
IMPORTANT: This skill MUST ONLY be used in the final verification step (e.g., /speckit.verify). DO NOT invoke during /speckit.implement or /speckit.implement_v2, nor in any intermediate implementation tasks.
重要:本 Skill 仅允许在最终验证步骤(如 /speckit.verify 或其他统一 verify gate)中使用,用于在合入前统一验证代码正确性。实现阶段(包括 /speckit.implement、/speckit.implement_v2 以及其他实现子任务)禁止调用本 Skill。
负面触发器(Negative Triggers)
在以下上下文或提示中,Coco / Agent 应视为不应调用本 Skill 的强信号:
- 提示或系统 Prompt 中出现“implement”、“implement_v2”、“实现过程”、“实现任务”、“开发阶段”等描述;
- 当前命令为
/speckit.implement或/speckit.implement_v2; - 对话目标聚焦于“编写或修改代码/单测”,而不是“在所有实现完成后做最终验证”。
若检测到上述信号,即便用户未明确说明,也应避免调用 unit-test-remote,并提示将统一在 /speckit.verify 阶段执行远程 UT。
核心功能
本 Skill 封装了对 Bits UT Remote MCP 的调用,提供了一个标准化的接口来远程执行单元测试。它只能作为最终验证(verify gate)中的一部分,用于在合入前集中判断当前改动是否可以通过单元测试门禁。
行为概要
- 参数校验:检查调用方提供的参数是否完整、合法,例如
test_kind、working_directory、package_path等。 - 构造命令:根据输入参数,拼装出
~/.bits-ut/utd remote_test ...命令。 - 执行测试:在指定的
working_package(仓库根目录)下执行该命令,并实时捕获输出。 - 解析结果:
- 实时解析
bits-ut返回的 JSON 流,提取Output字段中的有效日志。 - 如果测试失败,提取失败用例的详细日志(从
=== RUN到--- FAIL的完整块)。 - 如果测试成功,提取
ok ...成功信息。
- 实时解析
- 返回结构化输出:
exit_code:0表示成功,非0表示失败。output: 经过提炼的日志摘要,包含失败用例详情、成功包信息以及日志文件路径提示。
成功标准
exit_code == 0:这是唯一的成功标准。任何非零的exit_code都意味着测试未通过或执行出错。
失败处理
- 如果
exit_code != 0,当前的 验证步骤必须被视为未通过,不得将相关改动合入主分支或发布。 - Coco 或上层 Agent 应:
- 提取失败日志:从
output中解析出导致失败的测试用例名称和详细日志。 - 制定修复计划:基于失败日志,明确地规划下一步的修复动作(例如“修改某文件的某行代码以修复断言失败”)。
- 迭代修复:重新进入代码实现阶段或补充/修正单测,执行修复计划。
- 重新运行测试:修复完成后,通过
/speckit.verify再次调用本 Skill,直至exit_code == 0。
- 提取失败日志:从
更多技术细节、参数说明与最佳实践,请参见同目录下的
reference.md。
Weekly Installs
2
Repository
ericoo0/stock-t…platformGitHub Stars
6
First Seen
11 days ago
Security Audits
Installed on
opencode2
gemini-cli2
antigravity2
claude-code2
windsurf2
github-copilot2