I have a Django app, and I'm trying to create unit tests for functions/methods that work with the cache. My tests are run using python manage.py test using the same Docker container that I use for running the app locally. The functions/methods I'm testing contain lines that are similar to the following:

from django.core.cache import cache
...
def some_function():
    ...
    cache.set('test', ('hello', 'world'))
    retrieved = cache.get('test')
    ...

I expect retrieved to be the value that I retrieved from the cache (in this case, ('hello', 'world')); however, retrieved is somehow always a datetime.datetime object. This happens for various different cache backends, including django.core.cache.backends.locmem.LocMemCache and django_redis.cache.RedisCache. How can I correct this cache behavior for tests?

0

There are 0 best solutions below