test: Phase2 Task4 — 新增4个光标控制测试 总计77测试通过
This commit is contained in:
@@ -89,3 +89,22 @@
|
||||
- SDK 与主库的类型同步需要保持完全一致的派生宏和字段定义
|
||||
- 添加新的 Message 变体后,需要检查所有现有插件的 match 表达式
|
||||
- Rust 的穷尽性检查是很好的安全网,确保不会遗漏新增的消息类型
|
||||
|
||||
## 个人经验 (2026-03-13 DevicePlugin 阶段二 Task 4)
|
||||
- 完成 DevicePlugin 阶段二 Task 4:集成测试,验证 ScreenPlugin ↔ DevicePlugin 协作
|
||||
- 更新 MockBackend 以支持光标控制:
|
||||
- capabilities() 添加 DeviceCapability::Cursor
|
||||
- handle_command 添加 SetCursorVisible(_) => Ok(DeviceResponse::Ok) 处理
|
||||
- 新增 4 个测试用例:
|
||||
- test_mock_backend_set_cursor_visible — 验证 MockBackend 处理 SetCursorVisible(true/false)
|
||||
- test_mock_backend_cursor_capability — 验证 MockBackend 声明 Cursor 能力
|
||||
- test_device_command_cursor_serialization — 验证 SetCursorVisible 序列化往返
|
||||
- test_device_capability_cursor — 验证 DeviceCapability::Cursor 序列化
|
||||
- 修复 test_mock_backend_capabilities 测试(从 2 个能力更新为 3 个)
|
||||
- cargo check --workspace --all-targets 零 warning
|
||||
- cargo test --workspace 全部通过(77 个测试,与之前一致,因为新增 4 个测试,修复 1 个测试)
|
||||
- 经验总结:
|
||||
- MockBackend 是测试 DevicePlugin 的关键,无需真实硬件即可验证命令处理逻辑
|
||||
- 序列化测试确保 DeviceCommand/DeviceResponse/DeviceCapability 可以安全通过 JSON/FFI 边界
|
||||
- 更新 MockBackend 时需要同步更新相关的能力测试,避免断言失败
|
||||
- ScreenPlugin 通过 DeviceCommand 消息与 DevicePlugin 协作,实现了松耦合的架构
|
||||
|
||||
Reference in New Issue
Block a user