Se imposti il motore di database su sqlite3 quando esegui i test, Django utilizzerà un database in memoria .
Sto usando un codice come questo nel mio settings.py
per impostare il motore su sqlite durante l'esecuzione dei miei test:
if 'test' in sys.argv:
DATABASE_ENGINE = 'sqlite3'
O in Django 1.2:
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'sqlite3'}
E infine in Django 1.3 e 1.4:
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
(Il percorso completo del back-end non è strettamente necessario con Django 1.3, ma rende l'impostazione compatibile.)
Puoi anche aggiungere la seguente riga, nel caso tu abbia problemi con le migrazioni verso sud:
SOUTH_TESTS_MIGRATE = False