package slog import ( "fmt" "os" "testing" "time" "wartank/pkg/mock/mockkernel" "wartank/pkg/types" ) /* Тестер для логера */ // Создание тестера type tester struct { t *testing.T err error ядро types.ИЯдро slog *Слог } func TestSlog(t *testing.T) { test := &tester{ t: t, ядро: mockkernel.NewMockKernel(), } test.create() _ = os.RemoveAll("./log") } // Создание логера func (сам *tester) create() { сам.t.Logf("=create=\n") сам.createBad2() сам.createGood1() } func (сам *tester) createGood1() { сам.t.Logf("=createGood1=\n") сам.slog, сам.err = НовСлог(сам.ядро) if сам.err != nil { сам.t.Errorf("createGood1(): in create ISlog, err=\n\t%v", сам.err) } ядро := сам.ядро.(*mockkernel.MockKernel) ядро.Slog_ = сам.slog сам.slog.Отладка("Проверка good1: %v\n", "test_123") сам.slog.Инфо("Проверка good1: %v\n", "test_123") сам.slog.Внимание("Проверка good1: %v\n", "test_123") сам.slog.Ошибка("Проверка good1: %v\n", fmt.Errorf("test_123").Error()) сам.ядро.Отменить() time.Sleep(time.Millisecond * 150) сам.slog.Отладка("Проверка good1: %v\n", "test_123 bad") сам.slog.Инфо("") сам.slog.Внимание("") сам.slog.Ошибка("") сам.slog.close() } // Нет объекта ядра func (сам *tester) createBad2() { сам.t.Logf("=createBad2=\n") slog, err := НовСлог(nil) if err == nil { сам.t.Errorf("createBad2(): in create ISlog, err==nil") } if slog != nil { сам.t.Errorf("createBad2): slog!=nil") } }