понимаю, почему оно считает две равные мапы разными:
perms:=map[string]interface{}{"hello": "world", "bool": true, "integer": 42, "list": []int{1, 2, 3}}
u.UpdatePermissions(db, perms)
p, err:=GetUserPermissions(db, u.ID)
if err!=nil {
t.Error(err.Error())
return
}
readPerms:=map[string]interface{}{}
err=p.Unmarshal(&readPerms)
if err!=nil {
t.Error("Cannot unmarshal written permissions")
return
}
eq := reflect.DeepEqual(readPerms, perms)
if !eq {
t.Error("Written and Read permissions are not equal")
t.Log(readPerms)
t.Log(perms)
return
}
есть, но не в рефлект
github.com/kylelemons/godebug/pretty
ну тут в отладчик и вперед
https://play.golang.org/p/biPbKvsSq1x забавно
Testify использует очень забавный подход: с помощью spew генерируется текстовое представление, оно пропускается через diff и если он пустой, то все совпадает
Обсуждают сегодня