package logger import ( "carrotskin/pkg/config" "testing" ) // TestGetLogger_NotInitialized 测试未初始化时获取日志实例 func TestGetLogger_NotInitialized(t *testing.T) { _, err := GetLogger() if err == nil { t.Error("未初始化时应该返回错误") } expectedError := "日志未初始化,请先调用 logger.Init()" if err.Error() != expectedError { t.Errorf("错误消息 = %q, want %q", err.Error(), expectedError) } } // TestMustGetLogger_Panic 测试MustGetLogger在未初始化时panic func TestMustGetLogger_Panic(t *testing.T) { defer func() { if r := recover(); r == nil { t.Error("MustGetLogger 应该在未初始化时panic") } }() _ = MustGetLogger() } // TestInit_Logger 测试日志初始化逻辑 func TestInit_Logger(t *testing.T) { cfg := config.LogConfig{ Level: "info", Format: "json", Output: "stdout", } // 验证Init函数存在且可调用 err := Init(cfg) if err != nil { // 初始化可能失败(例如缺少依赖),这是可以接受的 t.Logf("Init() 返回错误(可能正常): %v", err) } }