【发布时间】:2021-09-27 02:05:16
【问题描述】:
我有这样的 UserRepo:
type users struct {
*gorm.DB
}
func NewMySqlUsersRepository(db *gorm.DB) repository.IUsers {
return &users{
DB: db,
}
}
对应方法实现
func (r *users) Save(user *domain.User) (*domain.User, *errors.RestErr) {
err := r.DB.Model(&domain.User{}).Create(&user).Error
if err != nil {
logger.Error("error occurred when create user", err)
return nil, errors.NewInternalServerError(errors.ErrSomethingWentWrong)
}
return user, nil
}
对于数据库模拟,我使用的是 sqlmock。但是我如何模拟这种方法进行单元测试呢?而在 Gorm 中如何模拟其他数据库查询?
【问题讨论】:
标签: mysql unit-testing go mocking go-gorm