Sto lavorando ad un'applicazione Django. Usiamo il sedano per scrivere in coda nel nostro database Mongo. Sto provando a scrivere un test funzionale (usando Selenium) per una funzione che mette in coda qualcosa in sedano.In che modo posso scaricare django seder nel database di test per i miei test funzionali?
Il problema è che il sedano scrive sul database principale di Mongo invece del database di test. Come posso impostare i miei test funzionali per lavorare con un'istanza di sedano che scrive nel database di test?
Stiamo usando 'django_nose.NoseTestSuiteRunner'
come nostro TEST_RUNNER
.
UPDATE:
non sono stato in grado di capire come utilizzare un'altra istanza di sedano per le prove, ma ho trovato un modo per bypassare sedano per i test funzionali.
Nel mio settings.py
:
FUNC_TEST_COMMAND=['functional']
func_test_command = filter(lambda element: element in FUNC_TEST_COMMAND, sys.argv)
if len(func_test_command) > 0:
CELERY_ALWAYS_EAGER = True
Questo simula il comportamento di un AsyncResult
senza inviare nulla attraverso una coda di messaggi quando si esegue la suite di test funzionale. (Per ulteriori informazioni, vedere http://celery.readthedocs.org/en/2.4/configuration.html#celery-always-eager)
Questa soluzione probabilmente non è l'ideale per i test funzionali, poiché elimina uno dei livelli dell'applicazione.