48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|
|
|