Problème: Lorsque j'ajoute UpdateCacheMiddleware et FetchFromCacheMiddleware à mon projet Django, j'obtiens des échecs unittest. C'est quel que soit le CACHE_BACKEND que je l'utilise (en ce moment je suis en utilisant locmem: //, mais les erreurs sont les mêmes quand je l'utilise file: /// path_to_cache)L'utilisation de Django Cache Middleware entraîne l'échec des tests unitaires contrib.auth
Mon Middleware:
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
)
Tous mes échecs de test ressemblent à celui ci-dessous: objet « NoneType » est unsubscriptable
======================================================================
Error: test_last_login (django.contrib.auth.tests.remote_user.RemoteUserTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\django\contrib\auth\tests\remote_user.py",
line 87, in test_last_login
self.assertNotEqual(default_login, response.context['user'].last_login)
TypeError: 'NoneType' object is unsubscriptable
Je dois manquer quelque chose (ou faire quelque chose de mal) comme je l'ai cherché sur le web pour cette question, mais personne ne semble avoir l'a rencontré.
Procédure pour reproduire:
- Démarrer un nouveau projet django (django-admin.py startproject myproject) et configurer settings.py
- Ajouter à CACHE_BACKEND settings.py et ajoutez les deux intergiciels Cache de Django
- Run test python manage.py
notes: Ther e est un seul échec de test lors de l'utilisation de dummy: // cache et il est documenté à: http://code.djangoproject.com/ticket/11640