我有一个将数据缓存在 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
我应该如何对这段代码进行单元测试?我使用 RSpec 和 Capybara。如果有帮助,我还会使用 Cucumber 和 Capabara 进行集成测试。