Заставить LiveServerTestCase не вызывать setUp() перед каждым тестом

У меня есть одна проблема с тестированием приложения django с помощью LiveServerTestCase. LiveServerTestCase выполняет функцию setUp() перед выполнением каждого теста. Но я использую фабрики фабричного мальчика для создания объектов для тестирования (пользователей, предметов и т. д.). И одни и те же объекты создаются перед выполнением каждого теста. Как я могу создать эти объекты один раз и выполнить все тесты, чтобы увидеть эти объекты в базе данных?


person Dmitry Belaventsev    schedule 21.10.2012    source источник


Ответы (1)


setUp() вызывается перед каждым тестом.

Если вы хотите создать объекты один раз для всего теста, вы можете вместо этого использовать setUpClass().

E.g.

class SomeTest(LiveServerTestCase):
        @classmethod
        def setUpClass(cls):
            # create objects here
            LiveServerTestCase.setUpClass()

Не забудьте позвонить LiveServerTestCase.setUpClass(), иначе сервер не будет работать должным образом.

person yprez    schedule 26.12.2012