Add repo-memory CLI test docs
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Case: `add-failed-validation-still-registers-repo`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `add` 即使因为 entry 校验失败退出,仍会留下 repo 注册副作用,这个行为需要被明确记录。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- `TMPDIR/repo` 是一个已提交初始 commit 的 Git 仓库
|
||||
- `TMPDIR/repo-memory.db` 尚不存在
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
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` 退出码为 `1`
|
||||
- `add` 的 stderr 包含 `kind is required`
|
||||
- `repos` 退出码为 `0`
|
||||
- `repos` 输出包含 `TMPDIR/repo (0 entries, updated `
|
||||
- `list` 输出 `no entries`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `add` 会先初始化数据库并注册 repo,再进入 entry 级校验
|
||||
- 失败的 `add` 不会创建 entry,但会留下可见的零条目 repo 记录
|
||||
- 后续测试或调用方如果依赖“失败无副作用”,必须显式考虑这个例外
|
||||
Reference in New Issue
Block a user