У нас есть приложение Rails, которое мы тестируем с помощью RSpec. Мы хотим указать операции, которые полагаются на Memcached. Как лучше всего это сделать?
Я решил сделать это, заглушив все вызовы Rails.cache
. Это хорошая идея?
Согласно предложению @Pan Thomakos, я добавляю некоторые дополнительные сведения об одном из сценариев, которые пытаюсь проверить:
У нас есть концепция учетных записей в нашей системе, поэтому каждый запрос мы получаем текущего пользователя и текущую учетную запись. Поскольку в системе не так много аккаунтов, мы храним их все в кеше и извлекаем их оттуда.
def self.find_by_slug(slug)
Rails.cache.fetch(Account.cache_key_for_slug(slug), :expires_in => 1.day) { super }
end
По этой причине кеширование в этом случае - это не просто хорошее поведение, но ожидаемое поведение и то, что я хочу протестировать. Поэтому отключение кеширования не подходит.