У меня был файл приспособления для модели, в которой около 900 объектов.Хотя эти объекты были загружены из одного файла фикстуры, тесты были довольно быстрыми.Но мне пришлось разделить этот прибор по принципу один прибор на объект .
И теперь, когда я загружаю все приборы в тестах, это занимает около 40 секунд при каждой установке на macOS , но на Linux это не принесло существенных результатов.разница во времени загрузки.
Я создал класс CoreBaseTestCase
, который получает все приборы из каталога и помещает их в переменную, а затем предоставляет имена этих приборов в fixtures
переменную.
class CoreBaseTestCase(TestCase):
many_fixtures = [os.listdir('path/to/fixtures')]
fixtures = \
['fixture1.json',
'fixture2.json'] + \
many_fixtures
Каким может быть решение по сокращению времени загрузки светильников в macOS?
на macOS setUp
занимает 45.77s
, на Linux setUp
занимает 7.4s
Например, проверка test_something
займет в 6 раз больше времени на macOS , чем на Linux :
class SomeTestCase(TestCase):
fixtures = CoreBaseTestCase.fixtures + ['fixture3.json']
def test_something(self):
a = 1
self.assertEqual(a, 1)