Поддержка работы с Redis или его мокирование
В случае если это будет мок предлагается использовать 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 позволяющий проверить наличие данных.
В #176 добавлена возможность наполнения redis из фикстур.