I am currently running into an issue where I am unable to have a unit test pass for a simple function. I currently have this test setup and it keeps failing.
func TestNewLogger(t *testing.T) {
tests := []struct {
name string
want *logrus.Logger
}{
{
name: "test new logger",
want: &logrus.Logger{Formatter: &logrus.TextFormatter{
DisableTimestamp: true,
}},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := logger.NewLogger(); reflect.TypeOf(got) == reflect.TypeOf(tt.want) {
t.Errorf("NewLogger() = %v, want %v", reflect.TypeOf(got), reflect.TypeOf(tt.want))
}
})
}
// NewLogger returns a new Logger
func NewLogger() *logrus.Logger {
logger := logrus.New()
logger.Formatter = &logrus.TextFormatter{
DisableTimestamp: true,
}
return logger
}
ouput:
=== RUN TestNewLogger
=== RUN TestNewLogger/test_new_logger
--- FAIL: TestNewLogger (0.00s)
--- FAIL: TestNewLogger/test_new_logger (0.00s)
../logger/logger_test.go:26: NewLogger() = *logrus.Logger, want *logrus.Logger
FAIL
FAIL
Error: Tests failed.
I don't understand why this fails and *logrus.Logger == *logrus.Logger if returning not true.
Aucun commentaire:
Enregistrer un commentaire