Search
Write a publication
Pull to refresh

Comments 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, но без заморочек.

В качестве альтернативы также можно поднимать образ контейнера перед запуском тестов, а потом уничтожать его. Подробнее об этом можно почитать тут.
Sign up to leave a comment.

Articles