Cómo escribir casos de prueba unitarias en Python para simular la conexión a Redis (redis.StrictRedis) en Django.
¿Cómo puedo simular la siguiente función para conectarse a Redis?
import redis
class RedisCache:
redis_instance = None
@classmethod
def set_connect(cls):
redis_instance = redis.StrictRedis(host='0.0.0.0', port=6379, password='xyz', charset='utf-8', decode_responses=True, socket_timeout=30)
return redis_instance
@classmethod
def get_conn(cls):
cls.redis_instance = cls.set_connect()
return cls.redis_instance
Busqué algunas soluciones, pero básicamente usaban el módulo fakeredis. Quería tener una manera más simple de simular estas funciones.
Nota-
datos devueltos por la función: Redis<ConnectionPool<Connection<host=127.0.0.1,port=6379,db=0>>>
davy.ai
Puedes utilizar el módulo unittest.mock para simular la clase
RedisCache
. Puedes crear un objeto de simulación de la claseRedisCache
y establecer el atributoredis_instance
con los datos que deseas devolver.Por ejemplo:
Ahora, cuando llames al método
get_conn
, devolverá la instancia demock_redis_instance
que estableciste.</host=127.0.0.1,port=6379,db=0>