Насмешливый редис в питоне - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь смоделировать redis, чтобы включить тестирование моего приложения на python, встроенного в Django.Все мои экземпляры redis происходят из модуля с именем record, с файлом init .py, содержащим:

redis_client = redis.from_url(os.environ.get("REDIS_URL"))

Я пытался исправить экземпляр с помощью mockredis , Но это не работает.Вот код режима:

class TestReleaseDashboard(TestCase):
    def setUp(self):

        # patch redis
        redis_patcher = patch('record.redis_client', mock_redis_client())
        self.redis = redis_patcher.start()
        self.addCleanup(redis_patcher.stop)

        # add data
        self.redis.set('LATEST_UPDATE', 'Fall 2012')
        self.redis.set('NEXT_UPDATE', 'Spring 2013')

    def test_can_filter_pensions(self):
        print(redis_client)
        print(self.redis)

Результат этих двух операторов печати:

Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>>
<mockredis.client.MockRedis object at 0x1132924d0>

Что я могу сделать, чтобы это исправить и насмехаться над экземпляром?

1 Ответ

0 голосов
/ 02 июля 2019

Похоже, вы используете mockredispy, и это больше не поддерживается :( https://github.com/locationlabs/mockredis

Я бы взглянул на fakeredis: https://pypi.org/project/fakeredis/

...