У меня большой файл для обработки, CSV-файл с миллионами строк. Я загружаю файл в обработчик Django, но не могу обработать его достаточно быстро, поэтому у меня есть отдельный процесс, обрабатывающий анализ. Я создаю URL прогресса, по которому я могу позвонить, чтобы получить статус анализа.
Я пытался протестировать, используя django.test.client.Client
, но кажется, что SQLite работает как база данных в памяти, когда используется внутри django.test.TestCase
. Это означает, что некоторые данные, которые я инициализирую в процессе обработки, недоступны для рабочего процесса. Тестовые данные записываются в тестовую базу данных в памяти, и рабочий процесс не может получить доступ к тестовой базе данных в памяти.
Мне кажется, что тестовый набор Django не сможет справиться с этим тестовым примером. Кто-нибудь есть рекомендации о том, как я мог бы пойти по поводу тестирования этого? Могу ли я заставить Django выгрузить тестовую базу данных SQLite в файл, который я могу прочитать внутри моего рабочего процесса? Могу ли я провести тестирование непосредственно на производственной базе данных (которая в моем случае будет пустой, за исключением данных, загруженных из приборов до начала теста)?