1
0

feat: 增强桌面启动失败提示与测试覆盖

This commit is contained in:
2026-05-08 23:42:48 +08:00
parent c524e8f928
commit 2dec9e5c54
21 changed files with 1857 additions and 297 deletions

View File

@@ -166,6 +166,34 @@
测试 workflow 中的各测试步骤 SHALL 使用隔离的资源,不干扰主环境。
### Requirement: Desktop 原生 UI 测试不依赖真实图形环境
CI 测试门禁 SHALL 允许验证 desktop 启动失败报告的 UI 无关逻辑,但 SHALL NOT 要求 GitHub Actions runner 或本地 CI 环境具备真实系统通知、模态弹窗或托盘可见性。
#### Scenario: CI 运行 desktop 启动失败测试
- **WHEN** `check` job 执行 `make test`
- **THEN** desktop 专属测试 SHALL 可以覆盖启动失败分类、提示通道选择、fallback 顺序和托盘 ready/timeout 逻辑
- **THEN** 测试 SHALL 使用 mock、fake runner 或接口注入验证调用意图
#### Scenario: CI 不验证真实原生 UI 展示
- **WHEN** `check` job 在 Linux、macOS 或 Windows runner 上运行
- **THEN** 测试 SHALL NOT 要求真实系统通知可见
- **THEN** 测试 SHALL NOT 要求真实模态弹窗被显示或被人工点击
- **THEN** 测试 SHALL NOT 要求真实托盘图标可见
- **THEN** runner 的通知权限、勿扰模式、DBus 状态或桌面会话差异 SHALL NOT 导致正常 CI 失败
#### Scenario: Linux CI 系统依赖边界
- **WHEN** Linux `check` job 安装 desktop 构建和测试所需系统依赖
- **THEN** 该依赖安装 SHALL NOT 被解释为需要在 CI 中验证真实 Linux 通知或弹窗展示
- **THEN** Linux 通知/弹窗命令 SHALL 在测试中通过 fake runner 覆盖
### Requirement: 测试 workflow 资源隔离
测试 workflow 中的各测试步骤 SHALL 使用隔离的资源,不干扰主环境。
#### Scenario: E2E 临时资源隔离
- **WHEN** E2E 测试运行