Skip to content

test: 补齐所有命令的标志注册测试,堵住系统性漏洞#38

Merged
bigmanBass666 merged 2 commits into
mainfrom
fix/flag-registration-tests
Jul 16, 2026
Merged

test: 补齐所有命令的标志注册测试,堵住系统性漏洞#38
bigmanBass666 merged 2 commits into
mainfrom
fix/flag-registration-tests

Conversation

@bigmanBass666

Copy link
Copy Markdown
Contributor

问题

PR #33 合并后 --log-format 标志注册行因 CRLF 替换失败丢失,但没有任何测试抓住。审计发现 start/provider/key/config 共 9 个 CLI 标志没有任何注册测试。

修复

CLAUDE.md 规则强化(第 4 条)

每个 init() 中注册的标志,必须在对应 *_cmd_test.go 中有 Lookup 测试
(如 TestXxxCmd_HasYyyFlag),与标志代码在同一个 PR 中加入

补齐测试

命令 新增测试
start_cmd_test.go --provider, --all
config_cmd_test.go --path
provider_cmd_test.go --target, --port, --genai, --cooldown-sec, --max-retries, --default

现在全部 12 个 CLI 标志各有对应的注册测试。新增标志必须同 PR 加入对应测试。

@bigmanBass666
bigmanBass666 force-pushed the fix/flag-registration-tests branch from 5e759f5 to ebafbb6 Compare July 16, 2026 19:06
wingIsCrazy added 2 commits July 17, 2026 03:25
审计发现 9 个标志(start/provider/key/config)没有注册测试。
CLAUDE.md 测试规则第 4 条强化为:
"每个 init() 中注册的标志必须在对应 *_cmd_test.go 中有 Lookup 测试,
与标志代码在同一个 PR 中加入"

新增测试文件:
- start_cmd_test.go: --provider, --all, --log-format
- config_cmd_test.go: --path
- provider_cmd_test.go: --target, --port, --genai, --cooldown-sec, --max-retries, --default

现在所有 12 个 CLI 标志各有对应的注册测试。
之前"手动验收"项过于笼统("验证了行为"),新增按改动类型
分列的验证命令表,使 AI 无法在模糊描述中跳过验证:

| 改动类型 | 验证命令 |
|---------|---------|
| CLI 标志 | akswitch <cmd> --help | grep <flag> |
| CLI 命令 | akswitch <cmd> --help |
| 日志格式 | akswitch logs --verbose |
| 逻辑修复 | 真实场景验证 |
@bigmanBass666
bigmanBass666 force-pushed the fix/flag-registration-tests branch from 1e18d9c to ffce345 Compare July 16, 2026 19:26
@bigmanBass666
bigmanBass666 merged commit 95f225a into main Jul 16, 2026
4 checks passed
@bigmanBass666
bigmanBass666 deleted the fix/flag-registration-tests branch July 16, 2026 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant