Комментарии 3
Я бы написал по другому… на конкретном примере
type Env interface {
GetUserByPhone(phone string) (*model.User, error)
}
func CheckEmployee(env *Env, phone string) (bool, error) {
user, err := GetUserByPhone(phone)
return user != nil, err
}
Дальше https://github.com/matryer/moq генерит мок Env и пишу тест на бизнес логику CheckEmployee. Шаблон теста генерит https://github.com/cweill/gotests. Это в стиле clean architecture, но без заморочек.
0
Или использовать testcontainers https://golang.testcontainers.org/
Правда, миграцию всё равно придётся как-то вызывать.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Unit-тестирование в Go с помощью интерфейсов