lamoda / gonkey

Gonkey - a testing automation tool
MIT License
354 stars 51 forks source link

Поддержка работы с Redis или его мокирование #140

Open keyclaim opened 2 years ago

keyclaim commented 2 years ago

В случае если это будет мок предлагается использовать https://github.com/rafaeljusto/redigomock

Предполагается, что на уровне проекта при необходимости будет инициализировано замоканное соединение redigomock.NewConn()

Можно расширить параметры запуска тестов этим соединением:

runner.RunWithTesting(t, &runner.RunWithTestingParams{
 ..
 RedisMock:   r
})

Выполнять очистку конфигурации мока после каждого теста через redigomock.Clear() Добавить возможность описания конфигурации мока через yaml-сценарий по соответствующим нотациям нотациям. Например

redisMock:
 command:
  GETPERSON:
   calls: 1
   args: person:1
   responseOk: >
    {
        "name": "Mr. Johson",
        "age":  "42",
      }
  GETADDRESS:
   calls: 2
   args: person:2
   responseError: Simulated error!

После выполнения теста мок должен возвращать список ошибок: в каких ручках количество вызовов не соответствует ожидаемому (по аналогии с func (m *Mocks) EndRunningContext() []error)

Альтернативой может быть интерфейс позволяющий загружать данные в Redis и выполнять очистку, а также checker позволяющий проверить наличие данных.

fetinin commented 1 year ago

В #176 добавлена возможность наполнения redis из фикстур.