package db import ( "testing" "zhiyuan/pkg/config" "zhiyuan/pkg/logger" "github.com/stretchr/testify/assert" ) func init() { config.Setup(config.WithFile("../config/config.yml"), config.WithEnv("../.env")) logger.Setup(logger.WithMode("go_test")) Setup() } func TestGetMulti(t *testing.T) { type Admin struct { ID string `json:"id"` Username string `json:"username"` } // single struct var admin Admin err := GetMulti("zy_admin", map[string]interface{}{"id": 1}, nil, &admin) ass := assert.New(t) ass.NoError(err) ass.Equal(admin, Admin{"1", "admin"}) // slice var adminList []Admin err = GetMulti("zy_admin", map[string]interface{}{"id >": 1, "_limit": []uint{0, 2}}, nil, &adminList) ass.NoError(err) ass.Equal(adminList, []Admin{{"2", "test"}, {"4", "test"}}) }