已关闭
test(commit): commit subcommands lack command-level tests and regression coverage #119
aflyingto创建于  4月3日关闭于  4月3日
aflyingto成员
4月3日 创建

背景

commit 命令树已经对外暴露多个子命令:

  • view
  • diff
  • patch
  • comments create/view/edit/list/list-by-sha

但当前只有 pkg/cmd/commit/view/view_test.go。diff、patch、comments * 等包没有测试文件,默认真实回归也没有覆盖任何 commit 路径。

代码证据

  • pkg/cmd/commit/commit.go
  • pkg/cmd/commit/diff/diff.go
  • pkg/cmd/commit/patch/patch.go
  • pkg/cmd/commit/comments/create/create.go
  • pkg/cmd/commit/comments/edit/edit.go
  • pkg/cmd/commit/comments/view/view.go
  • pkg/cmd/commit/comments/list/list.go
  • pkg/cmd/commit/comments/listbysha/listbysha.go
  • docs/REGRESSION.md

实际结果

如果这些命令在参数校验、认证、输出格式或 API 映射上回归,现有 go test 和默认真实命令回归都无法及时发现。

预期结果

commit 子命令族至少应具备最小命令级测试,并在回归矩阵中有基本覆盖。

影响

  • commit 能力表面已发布,但质量守护明显不足
  • 新增或重构 commit 相关命令时极易回归

建议方向

  • 优先给 diff / patch / comments list 增命令级测试
  • 在回归矩阵中补至少一条 commit 路径
  • 若暂不支持完整回归,应在文档里明确当前覆盖边界
likedislike
Aaflyingto成员
4月3日 添加了label:priority:medium, test
Aaflyingto成员
4月3日 关联了pull request:docs: add team agent review task briefs
Aaflyingto成员
4月3日 关闭了 issue
aflyingto成员
4月3日 评论:

该 issue 在 PR #91 合并时被错误自动关闭。PR #91 仅新增 Team agent 审视任务书,并未实现本 issue 对应问题;现重新打开,后续应由真正修复该问题的 PR 关闭。

likedislike
Aaflyingto成员
4月3日 重新打开了 issue
Aaflyingto成员
4月3日 关联了里程碑:v0.4.0
aflyingto成员
4月3日 评论:

Team agent 交付策略

  • 当前已纳入里程碑: v0.4.0
  • 执行模式: Coordinator -> Verifier -> Implementer -> Reviewer

建议推进顺序:

  1. 先核验 commit 子命令当前测试和真实回归覆盖缺口,补 status/verified
  2. 以 diff / patch / comments list 为优先补最小命令级测试
  3. 在回归矩阵中补至少一条 commit 路径,或明确当前边界
  4. 自检、风险分级和独立评审通过后再进入 ready-for-review

说明:

  • 本 issue 归入 v0.4.0,作为 commit 命令组收尾项推进
  • 不建议一次性覆盖所有 commit 子命令,先补高价值路径
likedislike
Aaflyingto成员
4月3日 关联了pull request:[WIP]fix: close open issue backlog batch
aflyingto成员
4月3日 评论:

验证记录

  • 当前版本或分支: bugfix/issue-110 / PR #92
  • 验证时间: 2026-04-03
  • 复现命令: go test ./pkg/cmd/commit/...
  • 实际结果: 问题已复现并已在当前变更中处理
  • 预期结果: 行为与 issue 描述一致收口,并具备最小测试/回归证据
  • 时间线检查: 当前改动尚未合入 main,以 PR #92 进入评审为准
  • 结论: 继续修复,进入 ready-for-review

开发进度

  • 当前状态: ready-for-review
  • 根因: commit diff/patch/comments list/list-by-sha 缺少最小运行级测试
  • 主要修改: 为 commit 相关子命令补运行级测试
  • 影响范围: 命令行为、测试与文档/回归脚本
  • 单元测试: go test ./...
  • 构建: go build -o ./gc ./cmd/gc
  • 实际命令验证: go test ./pkg/cmd/commit/...;并执行 ./scripts/regression-core.sh
  • 安全影响: 已补最小安全审查;涉及认证、确认语义或凭证路径的项按 risk/medium 处理
  • 文档同步: 已同步 docs/COMMANDS.md / docs/REGRESSION.md(按影响范围)
  • 风险或未覆盖项: 本批次归类 risk/medium;高风险项仍需人工最终确认后才能合并
  • 关联 PR: #92
likedislike
aflyingto成员
4月3日 评论:

开发进度

  • 当前状态: ready-for-review
  • 根因: commit diff/patch/comments list 缺少命令级测试,commit 命令组覆盖面不完整。
  • 主要修改: 补 commit diff、commit patch、commit comments list 运行测试,并同步清理共享 token/repo 推断路径。
  • 影响范围: commit 命令组测试面。
  • 单元测试: go test ./...
  • 构建: go build -o ./gc ./cmd/gc
  • 实际命令验证: ./scripts/regression-core.sh
  • 安全影响: 本次主要补测试,不涉及危险写路径。
  • 文档同步: 回归脚本侧已同步增强。
  • 风险或未覆盖项: commit 子命令族仍可继续补更多覆盖,但最小高价值路径已进入本批次。
  • 关联 PR: !92
likedislike
aflyingto成员
4月3日 评论:

开发进度

  • 当前状态: ready-for-review
  • 根因: commit diff/patch/comments list/list-by-sha 没有测试文件,命令回归难以及时发现。
  • 主要修改: 为 commit diff、patch、comments list、comments list-by-sha 增加最小运行级测试。
  • 影响范围: pkg/cmd/commit/diff/*、pkg/cmd/commit/patch/*、pkg/cmd/commit/comments/list/*、pkg/cmd/commit/comments/listbysha/*
  • 单元测试: go test ./...
  • 构建: go build -o ./gc ./cmd/gc
  • 实际命令验证: ./scripts/regression-core.sh
  • 安全影响: 无。
  • 文档同步: 已同步回归说明。
  • 风险或未覆盖项: 其余 commit 子命令仍有进一步补强空间。
  • 关联 PR: #92
likedislike
Aaflyingto成员
4月3日 关闭了 issue