Если вы используете Django по умолчанию TestCase
, все тесты выполняются в транзакции, которая откатывается после завершения тестов. Если ваша база данных поддерживает транзакции, вам не придется ничего очищать.
Если вы используете Django LiveServerTestCase
или TransactionTestCase
, все таблицы усекаются после каждого теста, а исходные данные, которые сериализуются перед тестом, перезагружаются в тестовую базу данных. Это не сохранит никаких данных для перенесенных приложений, только для неперенесенных приложений.
Параметр --keepdb
не будет делать ничего особенного с базой данных. Это просто предотвращает уничтожение тестовой базы данных, и если база данных найдена в начале тестов, она используется вместо создания новой. Таким образом, любые данные, которые каким-либо образом остались в базе данных после завершения тестов, будут рассматриваться как исходные данные. В основном это актуально, если какая-то ошибка или пользовательское прерывание не позволяют тестам без транзакций очистить базу данных. В этом случае может быть хорошей идеей воссоздать базу данных.
person
knbk
schedule
08.07.2015