feat: 增强桌面启动失败提示与测试覆盖
This commit is contained in:
@@ -351,3 +351,34 @@
|
||||
- **WHEN** 测试配置加载时指定不存在的配置文件路径
|
||||
- **THEN** SHALL 返回默认配置值,不自动创建配置文件
|
||||
- **THEN** 测试 SHALL 验证配置文件未被创建
|
||||
|
||||
### Requirement: Desktop 启动失败提示测试边界
|
||||
|
||||
系统 SHALL 为 desktop 启动失败报告建立 UI 无关测试覆盖,验证启动错误分类、提示通道选择和 fallback 行为,但 SHALL NOT 要求测试真实系统通知、模态弹窗或托盘 UI 可见性。
|
||||
|
||||
#### Scenario: 启动错误分类测试
|
||||
|
||||
- **WHEN** 运行 desktop 专属测试
|
||||
- **THEN** 测试 SHALL 覆盖配置、单实例、端口、日志、数据库、迁移、静态资源、HTTP server 和托盘初始化失败的错误分类
|
||||
- **THEN** 测试 SHALL 验证每类错误包含正确 phase 和用户可读消息
|
||||
- **THEN** 测试 SHALL 验证敏感信息不会出现在用户提示文本中
|
||||
|
||||
#### Scenario: 提示通道选择测试
|
||||
|
||||
- **WHEN** 运行跨平台提示逻辑测试
|
||||
- **THEN** 测试 SHALL 使用 fake runner 或 fake notifier 验证通知、模态弹窗和 stderr/log fallback 的调用顺序
|
||||
- **THEN** 测试 SHALL 验证命令参数构造、AppleScript 转义、Windows MessageBox flags 和 Linux 工具优先级
|
||||
- **THEN** 测试 SHALL NOT 调用真实 `osascript`、`notify-send`、`zenity`、`kdialog`、`xmessage` 或显示真实 `MessageBoxW`
|
||||
|
||||
#### Scenario: 托盘 ready/timeout 测试
|
||||
|
||||
- **WHEN** 运行托盘启动封装测试
|
||||
- **THEN** 测试 SHALL 使用 fake systray runner 验证 ready 成功路径
|
||||
- **THEN** 测试 SHALL 使用 fake systray runner 验证 ready timeout 会返回 `tray` 阶段 fatal 启动错误
|
||||
- **THEN** 测试 SHALL NOT 要求真实桌面托盘图标出现
|
||||
|
||||
#### Scenario: 浏览器打开失败测试
|
||||
|
||||
- **WHEN** 测试浏览器自动打开失败
|
||||
- **THEN** 测试 SHALL 验证该错误被记录为非 fatal warning
|
||||
- **THEN** 测试 SHALL 验证应用启动流程不会因浏览器打开失败退出
|
||||
|
||||
Reference in New Issue
Block a user