mirror of
https://github.com/tw93/Mole.git
synced 2026-03-22 15:00:07 +00:00
5.2 KiB
5.2 KiB
Mole V1.29.0 发布前测试清单
1. 基础功能测试
1.1 主菜单和导航
mo- 主菜单正常显示- 方向键 ↑↓ 导航正常
- Enter 进入子菜单正常
- M 键显示帮助信息
- Q 键退出正常
1.2 版本和帮助
mo --version- 显示 1.29.0mo --help- 帮助信息完整mo version- 显示详细版本信息(macOS版本、架构、SIP状态等)
2. Clean 功能测试
2.1 基础清理
mo clean- 交互式清理正常mo clean --dry-run- 预览模式显示正确mo clean --whitelist- 白名单管理正常
2.2 新增功能: Xcode DeviceSupport
- 清理旧的 Xcode DeviceSupport 版本(而不是仅缓存)
- 保留当前使用的版本
2.3 Bug修复验证
- Go cache 清理时尊重 whitelist
- Homebrew dry-run 模式尊重 whitelist
- pip3 是 macOS stub 时跳过 pip 缓存清理
- 修复后的 ICON_WARNING 显示正确
3. Analyze 功能测试
3.1 基础分析
mo analyze- 交互式分析正常mo analyze /path- 分析指定路径mo analyze /Volumes- 分析外部磁盘
3.2 新增功能: JSON 输出 (PR #533)
mo analyze --json- JSON 格式输出mo analyze --json /path- 指定路径 JSON 输出- 非 TTY 环境自动使用 JSON(如管道):
mo analyze | cat - JSON 包含字段: path, total_size, file_count, items[]
4. Status 功能测试
4.1 基础状态
mo status- 显示系统健康状态- CPU、内存、磁盘、网络数据显示正常
4.2 新增功能: JSON 输出 (PR #529)
mo status --json- JSON 格式输出- 非 TTY 环境自动使用 JSON:
mo status | cat - JSON 包含网络数据 (PR #532 fix)
- JSON 字段验证: cpu, memory, disk, network, load_avg, uptime
5. Uninstall 功能测试
mo uninstall- 应用卸载界面正常mo uninstall --dry-run- 预览卸载mo uninstall --whitelist- 白名单管理- 卸载后能正确发现相关文件
6. Optimize 功能测试
mo optimize- 系统优化正常mo optimize --dry-run- 预览模式mo optimize --whitelist- 白名单管理
7. Purge 功能测试
mo purge- 项目清理正常mo purge --dry-run- 预览模式mo purge --paths- 配置扫描目录- dry-run 不计入失败移除 (bug fix验证)
8. Installer 功能测试
mo installer- 安装包清理正常mo installer --dry-run- 预览模式
9. TouchID 功能测试
mo touchid- TouchID 配置界面mo touchid enable --dry-run- 预览模式
10. Update 功能测试
10.1 基础更新
mo update- 检查更新(当前已是最新版)mo update --force- 强制重新安装
10.2 新增功能: Nightly 更新 (PR #517)
mo update --nightly- 安装 nightly 版本- nightly 安装后
mo --version显示 commit hash - nightly 安装后
mo version显示 "Channel: Nightly (xxxxxx)" - Homebrew 安装时
mo update --nightly应被拒绝
10.3 Bug修复验证
- 更新时保持 sudo 会话活跃
- 避免 SIGPIPE 在 Homebrew 检测中
11. Completion 功能测试
mo completion- 补全脚本安装mo completion --dry-run- 预览模式
12. Remove 功能测试
mo remove --dry-run- 预览移除 Mole
13. 边界情况测试
13.1 安全性
- 不删除 /System、/Library/Apple 等受保护路径
- 不删除 com.apple.* 系统文件
- dry-run 模式绝不执行实际删除
13.2 并发和超时
- 长时间运行的命令有超时处理
- 网络请求有超时处理
13.3 错误处理
- 网络不可用时的优雅降级
- 权限不足时的正确提示
- 文件不存在时不报错
14. 多场景测试
14.1 不同安装方式
- 脚本安装的功能正常
- Homebrew 安装的功能正常(如果可测)
14.2 不同 macOS 版本
- 在支持的 macOS 版本上测试
14.3 不同架构
- Apple Silicon (arm64) - 测试通过
- Intel (x86_64) - 如可测
15. JSON 输出格式验证
15.1 Analyze JSON 结构
mo analyze --json /tmp 2>/dev/null | jq '.'
应包含:
- path
- total_size
- file_count
- items (name, path, size, size_human, count)
15.2 Status JSON 结构
mo status --json 2>/dev/null | jq '.'
应包含:
- cpu (usage, cores)
- memory (total, used, free, cached, usage_percent)
- disk (total, used, free, usage_percent)
- network (interfaces with rx_bytes, tx_bytes)
- load_avg (1min, 5min, 15min)
- uptime
快速验证命令
# 1. 版本检查
mo --version # 应为 1.29.0
# 2. 核心功能快速测试
mo clean --dry-run
mo analyze --json /tmp 2>/dev/null | head -20
mo status --json 2>/dev/null | jq '.'
# 3. 测试脚本验证
./scripts/test.sh
# 4. 代码格式检查
./scripts/check.sh --format
测试通过标准
- 所有勾选测试通过
- 无崩溃、无异常退出
- JSON 输出格式正确
- dry-run 模式安全
- 测试脚本全部通过: 464 tests, 0 failures