Se você definir seu mecanismo de banco de dados como sqlite3 ao executar seus testes, Django usará um banco de dados na memória .
Estou usando um código como este em meu
settings.py
para definir o mecanismo para sqlite ao executar meus testes:if 'test' in sys.argv:
DATABASE_ENGINE = 'sqlite3'
Ou no Django 1.2:
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'sqlite3'}
E finalmente no Django 1.3 e 1.4:
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
(O caminho completo para o backend não é estritamente necessário com o Django 1.3, mas torna a configuração compatível.)
Você também pode adicionar a seguinte linha, caso esteja tendo problemas com as migrações do Sul:
SOUTH_TESTS_MIGRATE = False