Тестирование параллельного набора тестов Xcode 10 медленнее с небольшим количеством тестов - PullRequest
0 голосов
/ 05 июня 2018

В Xcode 10 (в настоящее время бета-версия 1) я включил параллельное тестирование наборов тестов для моего проекта iOS.

«Редактировать схему»> «Тест»> «Информация».Установите галочку «Выполнять параллельно на симуляторе»

enter image description here

Эта функция была введена для сокращения времени тестирования путем одновременного запуска нескольких симуляторов для расширения наборов тестов.на них.(Не путать с параллельным тестированием, представленным в Xcode 9, который не включает в себя расширение набора тестов).

У меня 200 тестов, и это мои результаты:

  • 0,6 секундыбез параллельного выполнения
  • 0,9 секунды с параллельным выполнением

Так что, очевидно, это работает неправильно.Я подумал, что это может быть связано со временем запуска симулятора.Но это не является частью расчета времени выполнения.Так что это либо ошибка в бета-версии Xcode 10, либо я ее неправильно настроил.

Ответы [ 2 ]

0 голосов
/ 27 июля 2018

Есть некоторые накладные расходы.XCTest необходимо клонировать симулятор, чтобы состояние было одинаковым для каждого экземпляра.Каждый клон должен завершить загрузку.

Вам решать, улучшит ли распараллеливание время выполнения ваших тестов или нет.Тесты пользовательского интерфейса почти всегда быстрее.Результаты модульных тестов зависят от деталей вашего проекта и тестов, которые он выполняет.

0 голосов
/ 05 июня 2018

Я также провел обширные тесты в проекте среднего размера, содержащем около 250 тыс. Строк кода, и заметил нечто очень похожее.Хотя сборка (чистая сборка и добавочная сборка) была примерно такой же, как и в Xcode 9.4, я также видел, что тесты выполнялись примерно на 20% медленнее.

Обратите внимание, что в проекте относительно мало тестов и что Apple обычно повышает производительность между бета-версиями3 и бета 6, так как бета 1 и 2 здесь в основном, чтобы предоставить нам новые функции.Итак, давайте посмотрим, как это изменится со следующими бета-версиями ...

Я также не видел функцию "восемь симуляторов на одном экране", как в демоверсии, не так ли?

...