Как ускорить время загрузки осветителей на юнит-тестах python в macOS? - PullRequest
1 голос
/ 07 мая 2019

У меня был файл приспособления для модели, в которой около 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)
...