# 测试报告(App 生命周期管理) ## 1) 目标与范围 覆盖本次新增的 App 生命周期管理能力: - app id/name/type 等输入校验与清洗 - apps 注册表的创建/更新/查询 - 上下线审批(申请/审批/生效) - 软删除 ## 2) 测试类型 ### 单元测试(无需数据库) - `src/services/app.rs`:包含 app_id 等关键字段校验用例 ### 集成/冒烟测试(需要 DATABASE_URL) 当设置 `DATABASE_URL` 时会执行: - `tests/enabled_apps_smoke.rs`:enabled_apps 读写与版本冲突 - `tests/app_lifecycle_smoke.rs`:apps 创建/更新/审批禁用/软删除 若未设置 `DATABASE_URL`,上述集成测试会自动跳过(返回 Ok)。 ## 3) 执行方式 ```bash cargo test ``` 若要执行集成测试,需提供可用的 PostgreSQL 连接串,并保证已完成迁移: ```bash export DATABASE_URL='postgres://...' ./scripts/db/migrate.sh ./scripts/db/verify.sh cargo test ``` ## 4) 结果说明 - 已在当前仓库执行 `cargo test`,测试通过。 - 代码仓库内测试已保持可重复执行,并在无数据库时不阻塞开发体验。 - 覆盖率统计需依赖覆盖率工具(如 cargo-llvm-cov 或 tarpaulin);本仓库当前未内置该工具链。