cast/TEST.md

25 lines
1.5 KiB
Markdown
Raw Normal View History

# 测试报告 (Test Report)
## 覆盖场景 (Coverage Scenarios)
- **核心类型转换**: `Int64`, `Uint64`, `Float64`, `Bool`, `String`,包括边界值、零值及非法字符串输入。
- **复合类型处理**: `Ints`, `Strings` 自动解析 JSON 字符串或直接转换。
- **JSON/YAML 序列化**:
- 深度结构体映射,支持 `FastEncoder` 单路径处理。
- **去标签化算法**: 自动识别 `UserID` -> `userID` 等符合工程习惯的转换。
- **脱敏支持**: `ToJSONDesensitize` 在编码阶段原生支持字段脱敏。
- **Map 兼容性**: 原生支持 `map[any]any` 及 Goja 伪数组转换。
- **JSON 反序列化**:
- **FastDecoder**: 实现单路径流式解析,跳过中间 Map 分配。
- **Frictionless 匹配**: 支持大小写不敏感、忽略下划线等灵活的 Key 映射规则。
- **智能初始化**: 自动处理嵌套指针、Slice 和 Map 的初始化。
- **指针与接口**: `RealValue` 处理多级指针与接口解包。
- **高性能实用函数**: `UniqueAppend` ($O(n)$ 去重)`If` (泛型三元)`SplitArgs` (支持引用格式)。
## 性能基准 (Benchmark Results - Intel(R) Core(TM) i9)
- `If`: ~0.24 ns/op
- `Int64`: ~20.4 ns/op
- `ToJSON (SimpleStruct)`: ~448.5 ns/op (相比旧版提升 ~30%)
- `ToJSON (DirtyMap)`: ~1126 ns/op (相比旧版提升 ~70%)
- `UnmarshalJSON`: 高性能单路径解析,显著降低内存分配。
- `UniqueAppend`: 大数据量下的 $O(n)$ 时间复杂度。