package logx import ( "log" "os" "path/filepath" "strings" "testing" ) func TestSetupWritesFile(t *testing.T) { dir := t.TempDir() logDir := filepath.Join(dir, "logs") closer, err := Setup(logDir) if err != nil { t.Fatalf("Setup 失败: %v", err) } log.Printf("hello-logx-%d", 42) if err := closer.Close(); err != nil { t.Fatalf("关闭失败: %v", err) } entries, err := os.ReadDir(logDir) if err != nil || len(entries) != 1 { t.Fatalf("日志目录应有 1 个文件, 实际 %d: %v", len(entries), err) } data, err := os.ReadFile(filepath.Join(logDir, entries[0].Name())) if err != nil { t.Fatal(err) } if !strings.Contains(string(data), "hello-logx-42") { t.Fatalf("日志未落盘,文件内容: %q", string(data)) } } func TestSetupCreatesFileImmediately(t *testing.T) { dir := t.TempDir() closer, err := Setup(dir) if err != nil { t.Fatal(err) } defer closer.Close() entries, err := os.ReadDir(dir) if err != nil || len(entries) != 1 { t.Fatalf("Setup 后应立刻存在当天日志文件: %v %d", err, len(entries)) } }