Redis にデータをキャッシュするモデル クラスがあります。モデルのメソッドを初めて呼び出すと、JSON/ハッシュ値が計算され、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とカピバラを使っています。また、それが役立つ場合は、統合テストに Cucumber と Capabara を使用します。