Files
aiot-platform-cloud/docs/ops-architecture/part8-测试指南.md

30 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Part 8: 测试指南
为保证 Ops 模块在高速演进过程中的稳定性,所有核心逻辑必须通过自动化测试覆盖。
## 8.1 单元测试规范
### 8.1.1 依赖模拟 (Mocking)
使用 `JUnit 5``Mockito`。推荐继承项目通用的测试基类或使用 `MockitoExtension`
- **核心原则**Mock 掉 Mapper 层和外部 RPC 调用,专注验证 Service 层的状态转换逻辑。
### 8.1.2 状态机测试
针对 `OrderStateMachine` 的每一次修改,必须确保:
1. **合法路径测试**:验证允许的状态转换(如 `ARRIVED` -> `COMPLETED`)能成功。
2. **非法路径测试**:验证不允许的转换(如 `PENDING` -> `COMPLETED`)必须抛出异常。
## 8.2 集成测试规范
### 8.2.1 混合队列验证
由于采用 Redis + MySQL 双写架构,集成测试需重点验证:
- 事务提交后Redis 队列中的分数Score与优先级Priority是否匹配。
- `QueueSyncHandler` 是否正确处理了缓存失效后的补偿逻辑。
## 8.3 常用测试工具
- **Podam**:用于快速生成填充了随机数据的 DO/DTO 对象。
- **BaseDbAndRedisUnitTest**:支持 H2 内存数据库和内置 Redis 的集成测试基类。
---
**下一章**[Part 9: 技术决策记录 (ADR)](./part9-技术决策记录.md)