已关闭
test(release): release write paths lack runtime coverage for edit and upload #117
aflyingto创建于 4月3日关闭于 4月3日
aflyingto
4月3日 评论:
4月3日 评论:
该 issue 在 PR #91 合并时被错误自动关闭。PR #91 仅新增 Team agent 审视任务书,并未实现本 issue 对应问题;现重新打开,后续应由真正修复该问题的 PR 关闭。


aflyingto
4月3日 评论:
4月3日 评论:
Team agent 交付策略
- 当前已纳入里程碑:
v0.5.0 - 风险等级预期:
high - 执行模式:
Coordinator -> Verifier -> Implementer -> Reviewer -> human final check
建议推进顺序:
- 先确认 release 写路径当前测试空洞和关键运行分支,补
status/verified - 以
edit/upload为主补运行路径测试,再补 create/delete 的高价值分支 - 完成
go test ./...、构建和相关回归验证 - 作者自检、独立评审后进入 review;高风险发布链路保留人工最终确认
说明:
- 本 issue 属于
v0.5.0第一批优先项 - 优先覆盖 notes file、上传失败、release id 缺失等高价值路径


aflyingto
4月3日 评论:
4月3日 评论:
验证记录
- 当前版本或分支:
bugfix/issue-110/ PR #92 - 验证时间: 2026-04-03
- 复现命令:
go test ./pkg/cmd/release/... - 实际结果: 问题已复现并已在当前变更中处理
- 预期结果: 行为与 issue 描述一致收口,并具备最小测试/回归证据
- 时间线检查: 当前改动尚未合入
main,以 PR #92 进入评审为准 - 结论: 继续修复,进入 ready-for-review
开发进度
- 当前状态: ready-for-review
- 根因: release 写路径缺少最小运行级测试,尤其 edit/upload
- 主要修改: 新增 release edit/upload 运行级测试,并补 create/delete 相关验证
- 影响范围: 命令行为、测试与文档/回归脚本
- 单元测试:
go test ./... - 构建:
go build -o ./gc ./cmd/gc - 实际命令验证:
go test ./pkg/cmd/release/...;并执行./scripts/regression-core.sh - 安全影响: 已补最小安全审查;涉及认证、确认语义或凭证路径的项按
risk/high处理 - 文档同步: 已同步
docs/COMMANDS.md/docs/REGRESSION.md(按影响范围) - 风险或未覆盖项: 本批次归类
risk/high;高风险项仍需人工最终确认后才能合并 - 关联 PR: #92


aflyingto
4月3日 评论:
4月3日 评论:
开发进度
- 当前状态: ready-for-review
- 根因: release edit/upload 缺少运行路径测试,回归只能靠人工发现。
- 主要修改: 补 release edit/upload 的命令级运行测试,覆盖 notes file 与上传路径。
- 影响范围: release edit/upload 测试面。
- 单元测试: go test ./...
- 构建: go build -o ./gc ./cmd/gc
- 实际命令验证: ./scripts/regression-core.sh
- 安全影响: 本次主要补测试,不新增危险写默认行为。
- 文档同步: 无需单独更新用户文档。
- 风险或未覆盖项: release 高风险批次仍需人工最终确认。
- 关联 PR: !92


aflyingto
4月3日 评论:
4月3日 评论:
开发进度
- 当前状态: ready-for-review
- 根因: release edit/upload 缺少最小运行级测试,create/delete 现有测试不足以覆盖关键分支。
- 主要修改: 新增 release edit/upload 运行级测试,覆盖 notes-file、upload URL / PUT 上传路径等关键逻辑。
- 影响范围:
pkg/cmd/release/edit/*、pkg/cmd/release/upload/* - 单元测试:
go test ./... - 构建:
go build -o ./gc ./cmd/gc - 实际命令验证:
./scripts/regression-core.sh - 安全影响: 涉及 release 路径,保留高风险评审要求。
- 文档同步: 已同步更新回归说明。
- 风险或未覆盖项: 真实 release 写入路径仍未在远端执行。
- 关联 PR: #92


背景
release 写路径目前存在明显测试空洞:
pkg/cmd/release/edit/edit.go没有测试文件pkg/cmd/release/upload/upload.go没有测试文件create_test.go/delete_test.go主要验证 Cobra 参数解析,没有覆盖真实运行分支代码证据
pkg/cmd/release/edit/edit.gopkg/cmd/release/upload/upload.gopkg/cmd/release/create/create.gopkg/cmd/release/create/create_test.gopkg/cmd/release/delete/delete.gopkg/cmd/release/delete/delete_test.go实际结果
release edit的--notes-file、布尔字符串解析、ErrNoReleaseID报错路径,以及release upload的多文件上传、内容类型识别、文件读取失败、输出大小格式等都可能回归而不被单测发现。预期结果
release 写路径至少应具备命令级运行路径测试,而不是仅有参数绑定测试。
影响
go test ./...仍可能全绿建议方向
release edit和release upload增加运行路径测试