Каков наилучший способ оптимизировать загрузочную часть тестов Django? - PullRequest
7 голосов
/ 17 февраля 2011

мои тесты Django выполняются очень медленно, но это не ошибка теста.

В данный момент весь процесс занимает 14 с, но только 0,1 с из этого выполняются тесты. Первые несколько секунд создают таблицы и индексы, остальные применяют множество fixtures.

проекта.

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

Решение, которое я думаю, сработало бы, если бы тесты не удаляли таблицы после каждого запуска, таким образом, не было бы необходимости создавать и заполнять базу данных при каждом прогоне тестов. Большинство тестов даже не записывают в БД.

Каков наилучший способ оптимизации fixture -загружаемой части тестов Django? Спасибо!

(я использую nose, но в остальном просто Джанго и sqlite)

РЕДАКТИРОВАТЬ: я должен был упомянуть, что я использую базу данных sqlite в памяти. То, что я ищу - в частности, - это оптимизация секции загрузки приспособлений теста.

Ответы [ 2 ]

3 голосов
/ 17 февраля 2011

"но мне нужно, чтобы большинство из них выполняло большинство тестов" ...

Извините, но чтобы ускорить процесс, вам придется сделать несколько мышление .

"Я думаю, что есть способ указать, какие приборы загружать в каждом тесте"

Это неприятная вещь для чтения.Вы недавно смотрели на свои тесты?

В ваших тестах, в частности, указан список приборов.Вам нужно свернуть этот список.

3 голосов
/ 17 февраля 2011

Вы можете использовать базу данных sqlite в памяти для тестов - это действительно быстро

...