Go实战全家桶之71:goDb通用查询结果比对--源于实战项目
if err!= nil {if!if err!= nil {return errcontinue} else {return errreturn nil。

goweb: https://gitee.com/leijmdas/goweb/settings#index
func (self *TestMetaFacadeSuite) Test006_QueryDictDb() {
var dao = NewDaoGeneralRule()
ret := dao.QueryModel()
golog.Info(ret.Code)
golog.Info(ret)
ret.CheckRecordSuite(self.Suite, 9, "func_id=func_listfunc")
}
=========================================================
2025-04-29 10:12:18.877 [INFO]
*** CheckRecord func_id=func_listfunc OK ***
INFO[2025-04-429 10:12:18]C:/Users/leijmdas/go/pkg/mod/gitee.com/leijmdas/gobase/goconfig@v0.0.0-20250429020023-97f7eb7adfb6/common/golog/go_logger.go:12 gitee.com/leijmdas/gobase/goconfig/common/golog.Info()
*** CheckRecord func_id=func_listfunc OK ***
2025-04-29 10:12:18.877 [INFO]
*** CheckRecord OK ***
INFO[2025-04-429 10:12:18]C:/Users/leijmdas/go/pkg/mod/gitee.com/leijmdas/gobase/goconfig@v0.0.0-20250429020023-97f7eb7adfb6/common/golog/go_logger.go:12 gitee.com/leijmdas/gobase/goconfig/common/golog.Info()
*** CheckRecord OK ***
2025-04-29 10:12:18.877 [INFO]
func (self *PageResult[T]) CheckRecordSuite(s suite.Suite, keyvalue any, exps string) {
self.CheckCode(s, 200)
var err = self.CheckRecord(keyvalue, exps)
self.CheckErr(s, err)
}
func (self *PageResult[T]) CheckCode(suite suite.Suite, code int) {
suite.Equal(code, self.Code)
}
func (self *PageResult[T]) CheckErr(s suite.Suite, err error) {
if err != nil {
golog.Error(err)
}
s.Equal(true, err == nil)
}
// key =pkey1, exps=f1=v1|f2=v2|f3=v3
func (self *PageResult[T]) CheckRecord(keyvalues any, exps string) error {
if !self.ExistRecord() {
return weberrors.ErrDataNotExist
}
var keyvalue = gconv.String(keyvalues)
var kv = strings.Split(keyvalue, "=")
if len(kv) == 1 {
keyvalue = "id=" + keyvalue
kv = strings.Split(keyvalue, "=")
}
var list = self.Data
for i := range list {
var r = jsonutils.Stru2Map(list[i])
if v, ok := r[kv[0]]; ok && v == kv[1] {
var ret = basedto.ResultData(list[i])
var err = self.CheckRecordRet(ret, exps)
if err != nil {
golog.Error(err)
}
return err
}
}
return weberrors.ErrNotFound
}
func (self *PageResult[T]) CheckRecordRet(ret *basedto.IchubResult, exp string) error {
var recordExp = strings.Split(exp, "|")
golog.Info("\r\n\r\n=========================================================")
var maps = jsonutils.Stru2MapUnderscore(ret.Data)
for i := range recordExp {
var items = strings.Split(recordExp[i], "=")
if items[1] == gconv.String(maps[items[0]]) {
golog.Info("\r\n *** CheckRecord ", recordExp[i], " OK ***")
continue
} else {
var err = errors.New("******** CheckRecord " + recordExp[i] + " failed! ***********")
golog.Error("\r\n", err)
return err
}
}
golog.Info("\r\n *** CheckRecord OK ***")
golog.Info("\r\n\r\n=========================================================")
return nil
}
func (self *PageResult[T]) ExistRecord() bool {
return self.IsSuccess() && self.Data != nil && len(self.Data) > 0
}
更多推荐

所有评论(0)