मेरे पास एक मॉडल क्लास है जो रेडिस में डेटा कैश करती है। पहली बार जब मैं मॉडल पर एक विधि कहता हूं, तो यह 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
मैं कैसे इकाई इस कोड को परीक्षण करना चाहिए? मैं आरएसपीसी और कैपिबरा का उपयोग करता हूं। अगर यह मदद करता है तो मैं एकीकरण परीक्षण के लिए ककड़ी और कैपबारा का भी उपयोग करता हूं।
redis_instance = MockRedis.new
Redis.stubs(:new).returns(redis_instance)
Redis::Store.stubs(:new).returns(redis_instance)
उसके बाद मैं करूंगा: ताकि आप यह सुनिश्चित करें कि परीक्षण किसी भी मशीन भले ही redis सर्वर स्थापित नहीं है पर चलेगा हो जाएगा
मुझे विश्वास है कि यह अब 'REDIS.flushdb' है –