package config import ( "os" "testing" "github.com/break/junhong_cmp_fiber/pkg/constants" ) // BenchmarkGet 测试配置获取性能 func BenchmarkGet(b *testing.B) { // 设置配置文件路径 _ = os.Setenv(constants.EnvConfigPath, "../../configs/config.yaml") defer func() { _ = os.Unsetenv(constants.EnvConfigPath) }() // 初始化配置 _, err := Load() if err != nil { b.Fatalf("加载配置失败: %v", err) } b.Run("GetServer", func(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { _ = Get().Server } }) b.Run("GetRedis", func(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { _ = Get().Redis } }) b.Run("GetLogging", func(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { _ = Get().Logging } }) b.Run("GetMiddleware", func(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { _ = Get().Middleware } }) b.Run("FullConfigAccess", func(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { cfg := Get() _ = cfg.Server.Address _ = cfg.Redis.Address _ = cfg.Logging.Level _ = cfg.Middleware.EnableAuth } }) }