При запуске нового процесса django во время тестирования он использует неверную базу данных - PullRequest
0 голосов
/ 23 июня 2019

Если я запускаю новый процесс в тестовом примере django, он использует обычную базу данных вместо тестовой базы данных.

class ClientManagerTest(TestCase):
    def setUp(self):
        self.clientprocess = Process(target=run).start()

Теперь, если я сделаю, например,

def run():
   User.objects.all()

запрашивает стандартную базу данных вместо тестовой базы данных. Как это исправить?

1 Ответ

1 голос
/ 24 июня 2019

Если вы наблюдаете такое поведение, вам нужно будет использовать вызываемый объект дальше по стеку, который будет соответствующим образом инициализировать тестовую инфраструктуру Django.

Однако это не рекомендуемый способ обработки работы по совместному использованию.через процессы в Джанго.Вам следует рассмотреть возможность использования библиотеки celery ;они предоставляют документацию для модульного тестирования для этого варианта использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...