1002 B
1002 B
Case: add-failed-validation-still-registers-repo
用例意义
验证 add 即使因为 entry 校验失败退出,仍会留下 repo 注册副作用,这个行为需要被明确记录。
前置条件
TMPDIR/repo是一个已提交初始 commit 的 Git 仓库TMPDIR/repo-memory.db尚不存在
输入
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/repo --summary "missing kind"
repo-memory repos --db TMPDIR/repo-memory.db
repo-memory list --db TMPDIR/repo-memory.db --repo repo
预期输出
add退出码为1add的 stderr 包含kind is requiredrepos退出码为0repos输出包含TMPDIR/repo (0 entries, updatedlist输出no entries
断言结论
add会先初始化数据库并注册 repo,再进入 entry 级校验- 失败的
add不会创建 entry,但会留下可见的零条目 repo 记录 - 后续测试或调用方如果依赖“失败无副作用”,必须显式考虑这个例外