2.5 KiB
2.5 KiB
2026-05-30 测试能力与质量保障增强
背景
当前仓库虽然已经有:
- 单元测试
- SQLite 集成测试
- portal 资产检查
- real-host 验收脚本
但在测试治理上仍有两个明显短板:
-
缺统一入口
- 质量门禁主要依赖开发者手动记忆若干命令
- 缺少“一键执行 + 汇总结果 + 显式门槛”的脚本化入口
-
缺覆盖率管理
- 覆盖率门槛写在
AGENTS.md - 但没有配置文件和脚本把门槛真正执行出来
- 低覆盖包不够显性,容易在后续迭代中悄悄回落
- 覆盖率门槛写在
本次增强
1. 新增统一质量门禁脚本
职责:
- 统一执行:
gofmt -l .go vet ./...go test -cover ./internal/...go test ./tests/integration/... -count=1
- 生成 coverage gate 报告
- 对低覆盖包给出显式
warn - 对 core 包低于门槛时直接
fail
2. 新增覆盖率阈值配置
当前策略分两层:
core- 当前必须硬门槛通过
- 先覆盖最关键业务包:
internal/accessinternal/packinternal/provision
watch- 先做显式非回归治理
- 对已有低覆盖或大体量包给出可见阈值,避免继续恶化
3. 补充脚本自检
scripts/test/test_real_host_scripts.sh新增了对verify_quality_gates.sh和阈值配置文件的静态回归
4. 提升低覆盖工具包测试
新增覆盖:
- nested output dir 拒绝
- missing patch 错误路径
- metadata 写入内容
- copyTree 对
.git过滤 - symlink 保留
建议执行方式
后续每次提交前,优先跑:
bash ./scripts/test/verify_quality_gates.sh
如果本次还改了 portal 资产或 real-host 支撑脚本,再补:
bash ./scripts/test/test_tksea_portal_assets.sh
bash ./scripts/test/test_real_host_scripts.sh
后续建议
下一阶段如果继续增强测试能力,优先做这三件事:
- 给
internal/app增加不依赖本地监听端口的 handler 级测试,先把 coverage 稳定抬过70% - 把
watch包分批提升为core - 给
verify_quality_gates.sh增加机器可读输出,例如 JSON 汇总,方便未来接 CI 或日报