cast/TEST.md

25 lines
1.5 KiB
Markdown
Raw Permalink 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.

# 测试报告 (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)$ 时间复杂度。