У меня есть класс модели, который кэширует данные в redis. В первый раз, когда я вызываю метод на модели, он вычисляет значение JSON/Hash и сохраняет его в Redis. При определенных обстоятельствах я "очищаю" эти данные, и их пересчитывают при следующем вызове.
Здесь фрагмент кода, аналогичный тому, который я использую для хранения данных в Redis:
def cache_data
self.data_values = data_to_cache
REDIS.set(redis_key,ActiveSupport::JSON.encode(self.data_values))
REDIS.get(redis_key)
end
def data_to_cache
// generate a hash of values to return
end
Как мне unit test этот код? Я использую RSpec и Capybara. Я также использую Cucumber и Capabara для тестирования интеграции, если это помогает.