Comment faire des tests en parallèle à Django?

dans Mes projets Django j'utilise la base de données sqlite pour faire des tests. Comme il n'utilise que la mémoire, il est beaucoup plus rapide que MySQL, mais il n'est toujours pas assez rapide. Pendant les tests, un seul processeur sur 4 est utilisé, et peu de mémoire est consommée. Donc, j'aimerais avoir 4 bases de données sqlite en mémoire pour exécuter 4 tests en parallèle.

quelqu'un A déjà essayé?

22
demandé sur lfagundes 2011-03-14 23:03:16

3 réponses

depuis Django 1.9 il est possible d'effectuer les tests en parallèle par Django avec ses fonctionnalités intégrées de test unitaire.

Django Docs: https://docs.djangoproject.com/en/1.9/ref/django-admin/#django-admin-option---parallel

17
répondu Alireza Savand 2015-12-09 15:40:29

Vous pouvez utiliser un test parallèle coureur de Django et Tordu décrit ici: http://www.tomaz.me/2011/04/03/making-django-and-twisted-tests-faster.html (la source de la vie ici https://github.com/Kami/parallel-django-and-twisted-test-runner - le lien à la fin du post). Vous pouvez l'utiliser comme décrit dans Django docs sur les tests.

il y a aussi un piston d'essai à nez parallèle.

2
répondu Konstantin Lopuhin 2012-04-12 06:45:53

Vous pouvez facilement diviser les tests pour les applications sur parrallalel sur linux par:

$ python manage.py test cms & \
python manage.py test blog & \
python manage.py test store & \
python manage.py test registration
$ 

pourrait être utile pour les grands projets avec beaucoup d'applications, le meilleur serait un script bash qui exécute des tests toutes les quatre applications.

-2
répondu Mario César 2011-03-15 00:15:53