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é?
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
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.
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.