Как запустить тесты параллельно в Django? - PullRequest
25 голосов
/ 14 марта 2011

В моих проектах Django я использую базу данных sqlite для запуска тестов.Поскольку он использует только память, он намного быстрее, чем MySQL, но все еще недостаточно быстр.Во время тестов используется только один из 4 процессоров, и не используется много памяти.Итак, я хотел бы иметь 4 базы данных sqlite в памяти для параллельного запуска 4 тестов.

Кто-нибудь пробовал это?

Ответы [ 3 ]

20 голосов
/ 09 декабря 2015

Начиная с Django 1.9, Django может выполнять параллельные тесты с помощью встроенных функций модульного тестирования.

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

2 голосов
/ 12 апреля 2012

Вы можете использовать параллельный тестовый запуск для Django и Twisted, описанный здесь: http://www.tomaz.me/2011/04/03/making-django-and-twisted-tests-faster.html (источник живет здесь https://github.com/Kami/parallel-django-and-twisted-test-runner - ссылка в конце поста).Вы можете использовать его, как описано в Django docs по тестированию.

Существует также параллельный носитель теста.

0 голосов
/ 15 марта 2011

Вы можете легко разделить тестирование приложений на parrallalel на linux по:

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

Может быть полезно для больших проектов с большим количеством приложений, лучше всего будут скрипты bash, которые запускают тесты каждые четыреприложения.

...