time/TEST.md

1.3 KiB
Raw Permalink Blame History

Test Report: @go/time

📋 测试概览

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

功能测试 (Functional Tests)

场景 状态 描述
TestParse PASS 覆盖时间戳、紧凑格式、RFC3339、标准/斜杠/点日期、短年份、中文格式、纯时间等。
TestFormat PASS 验证直观布局 (YYYY-MM-DD HH:mm:ss) 的正确转换与格式化。
TestAdd PASS 验证 DSL 时间加减 (+1Y-2M+3D, +1h30m 等) 的逻辑。
TestHelpers PASS 验证 Now(), Today(), Yesterday(), Tomorrow() 辅助函数。

🛡️ 鲁棒性防御 (Robustness)

  • 非法输入拦截:空字符串或无效格式均返回 time.Now(),确保业务不中断,无 Panic。
  • 自动时区修正RFC3339/JS 格式自动转换为 time.Local,保持时区一致性。
  • 中文宽松匹配支持“下午3点”、“15时”等多种中文习惯。

性能基准 (Benchmarks)

函数 平均耗时 性能分析
Parse 501.1 ns/op 灵活的多格式探测解析,性能保持在微秒级。
Format 742.6 ns/op 包含布局字符串替换与 Go 原生 Format性能良好。
Add 146.2 ns/op DSL 解析与时间计算极其高效。