convert/TEST.md

1.3 KiB

Test Report: @go/convert

📋 测试概览

  • 测试时间: 2026-04-22
  • 测试环境: darwin/amd64 (Intel i9-9980HK)
  • Go 版本: 1.25.0

功能测试 (Functional Tests)

场景 状态 描述
TestConvertMatrix PASS 包含 13 个子测试,涵盖基础全互转、自动包装/解包、CSV/JSON 切分、深层指针穿透。
TestComplexFrictionlessMapping PASS 验证 Map 到 Struct 的极致去摩擦映射(忽略大小写、忽略下划线/中划线、类型自动纠正)。
TestFuncConversion PASS 验证函数类型的动态映射与参数/返回值自动转换。
TestParseHook PASS 验证 ParseXxx 定制化转换钩子。

🛡️ 鲁棒性防御 (Robustness)

  • 单值与切片自动适配:输入 []int{200}int 目标,自动取首值;输入 100[]int 目标,自动包装。
  • 极致 Key 容忍:键名 user_idUSER-NAME 等均能精准匹配。
  • 零值安全性:转换失败或输入 nil 时,目标被重置为干净的零值,不保留脏数据。

性能基准 (Benchmarks)

函数 平均耗时 性能分析
MatrixConvert 1226 ns/op 包含反射解析、Map 键名归一化及嵌套映射,性能处于工业级水准。