convert_del/TEST.md

18 lines
1.1 KiB
Markdown
Raw Normal View History

# 测试说明 (@go/convert)
本模块采用基于类型映射的测试策略,涵盖了从基础类型转换到高并发下结构体映射的全面场景。
## 覆盖场景
1. **类型矩阵测试**:覆盖 int, string, float, bool 等基础类型在不同容器间的互转。
2. **零摩擦映射**测试单值与切片的自动包装与解包、CSV/JSON 字符串到切片的转换。
3. **复杂指针处理**:验证多级指针到值的深度穿透及自动初始化。
4. **模糊匹配逻辑**:涵盖各种不规范命名风格(下划线、大小写混用、特殊符号)到 Struct 字段的成功匹配。
5. **函数代理**:验证 Func to Func 映射的准确性。
6. **扩展钩子**:验证 `ParseXxx` 的自定义逻辑挂载。
7. **防御性编程**:模拟 `nil` 指针解引用、只读目标地址等非法调用,确保不发生 Panic。
## 性能表现
基准测试 (`BenchmarkMatrixConvert`) 在典型的 Struct 映射场景下表现为:
- 平均耗时:**~1020 ns/op**
- 吞吐量:高并发环境下 O(1) 查找速度,无锁热点竞争。